4.0.8
4.0.10
WIN7 SP1 64bit
.NET Framework 4.7.1
我在没有Microsoft Visual C++ 2015 Redistributable (x86)的情况下启动了影梭,理所当然地弹出了一个报错窗口,于是我尝试安装Microsoft Visual C++ 2015 Redistributable (x86),但是由于我已经在电脑上安装了Microsoft Visual C++ 2017 Redistributable 的32位和64位,于是提示我无法安装2015的版本
这使得我不得不卸载2017的版本然后安装2015的版本,才让我成功启动影梭。
这是不是,有点奇怪?我以为之所以2015提示我无法安装是因为已经有更新的版本所以无需安装,但是不安装2015的话影梭会报错。是影梭的问题还是Microsoft Visual C++ 2017 Redistributable的问题?
嗯.....我本来想自己测试一下到底是哪个版本的哪个安装包有问题
结果现在自己弄得自己完全用不了SS了
太奇怪了
我已经安装了Microsoft Visual C++ 2015 Redistributable (x86)
并且没安装64位版本,也卸载了2017的版本
可我依然会报错
`[2018-08-02 05:17:22] Shadowsocks started
[2018-08-02 05:17:22] System.TypeInitializationException: 'Shadowsocks.Encryption.EncryptorFactory' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: Shadowsocks.Encryption.Sodium' のタイプ初期化子が例外をスローしました。 ---> System.DllNotFoundException: DLL 'libsscrypto.dll' を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)
場所 Shadowsocks.Encryption.Sodium.sodium_init()
場所 Shadowsocks.Encryption.Sodium..cctor()
--- 内部例外スタック トレースの終わり ---
場所 Shadowsocks.Encryption.Sodium.get_AES256GCMAvailable()
場所 Shadowsocks.Encryption.EncryptorFactory..cctor()
--- 内部例外スタック トレースの終わり ---
場所 Shadowsocks.Encryption.EncryptorFactory.DumpRegisteredEncryptor()
場所 Shadowsocks.Controller.Listener.Start(Configuration config)
場所 Shadowsocks.Controller.ShadowsocksController.Reload()
[2018-08-02 05:18:07] Shadowsocks started
[2018-08-02 05:18:07] System.TypeInitializationException: 'Shadowsocks.Encryption.EncryptorFactory' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'Shadowsocks.Encryption.Sodium' のタイプ初期化子が例外をスローしました。 ---> System.DllNotFoundException: DLL 'libsscrypto.dll' を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)
場所 Shadowsocks.Encryption.Sodium.sodium_init()
場所 Shadowsocks.Encryption.Sodium..cctor()
--- 内部例外スタック トレースの終わり ---
場所 Shadowsocks.Encryption.Sodium.get_AES256GCMAvailable()
場所 Shadowsocks.Encryption.EncryptorFactory..cctor()
--- 内部例外スタック トレースの終わり ---
場所 Shadowsocks.Encryption.EncryptorFactory.DumpRegisteredEncryptor()
場所 Shadowsocks.Controller.Listener.Start(Configuration config)
場所 Shadowsocks.Controller.ShadowsocksController.Reload()
日文win7 希望不要介意

以及我发现似乎安装2017的版本的话2015似乎会被覆盖掉,而不是像2013或者2012这样共存
你好,我在我的系统上测试了一下,在安装 Microsoft Visual C++ 2017 Redistributable (x86) 14.14.26429 版本后并没有任何问题。

请尝试从 https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads 获取最新的 Microsoft Visual C++ 2017 Redistributable ,然后安装看看。
或者,你可能需要以命令符方式,通过添加 /repair 进行安装:
VC_redist.x86.exe /repair
哦我的天啊
原来之所以报错的原因
是因为我的系统是日文的
而我的SS放在了一个具有中文路径的位置上
我觉得我智商下降了一个亿
我建议将这个问题写入影梭的注意事项里
@celeron533 虽然是极端案例,但是也可以考虑加入wiki的Troubleshooting。 https://github.com/shadowsocks/shadowsocks-windows/wiki/Troubleshooting
In some extreme cases, if you put Shadowsocks in a non-English path(directory) that may not work properly, try putting Shadowsocks.exe in the English path. / 某些极端案例下,如果将Shadowsocks放到非英文的路径(目录)中可能会导致无法正常使用,请尝试将Shadowsocks.exe放到全英文的路径中。
@chenshaoju 未见其他用户汇报过此问题,文件系统异常的概率很高
@chenshaoju 我这边也没有能重现此问题
Odd。。。。先这样吧,目前案例也只有一个。
问个小白问题?一定是86的吗,64的可以吗~
@ChloeQiuFeelGood 这个取决于微软,如果x64的包含了x86的运行时,那么就可以只安装x64的运行时。
但是目前并不包括。