我在使用 Inno Setup 进行安装时遇到问题。我需要安装 SQL 2012 Express x64 版本,但是当它完成安装时,想法已经是 100% 配置环境,或者在我的情况下使用命名管道。
必须通过记录输入命名管道,在此之前使用以下两行:
[注册表]
x64 -
根:HKLM;子项:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo;值类型:字符串;值名称:DevServer; ValueData:DBNMPNTW,\\.\PIPE\MSSQL$SQL2012EXPRESS\sql\query
x86(有效) - 根:HKLM;子项:SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo;值类型:字符串;值名称:DevServer; ValueData:DBNMPNTW,\\.\PIPE\MSSQL$SQL2012EXPRESS\sql\query
对于 x86 版本,它可以 100% 正确运行。至于x64版本不起作用,我注意到应该在“regedit”中创建的路径不存在,但如果通过配置管理器手动创建,一切正常。
我还测试了在安装过程中创建一个批处理来运行 .reg 文件,但也没有受到影响。
记住我的问题仅适用于 x64 版本。
最佳答案
Inno Setup 安装程序是 32 位应用程序,因此默认情况下SOFTWARE
会重定向到 SOFTWARE\Wow6432Node
。
您必须使用Root: HKLM64
来显式避免重定向。
您可能还需要添加Check: IsWin64
以确保该条目不会在 32 位安装上处理,因为这会导致错误。
[Registry]
Root: HKLM64; Subkey: SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo; ValueType: string; \
ValueName: DevServer; ValueData: DBNMPNTW,\\.\PIPE\MSSQL$SQL2012EXPRESS\sql\query; \
Check: IsWin64
参见[Registry]
section documentation .
关于installation - Inno Setup 在 Windows x64 上设置命名管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802171/