Installation Windows x64上的Inno设置命名管道

Installation Windows x64上的Inno设置命名管道,installation,registry,inno-setup,setup-project,Installation,Registry,Inno Setup,Setup Project,我在使用Inno安装程序进行安装时遇到问题。我需要安装SQL 2012 Express x64版本,但当它完成安装后,想法已经是让100%配置环境,或者在我的情况下使用命名管道 必须通过记录输入命名管道,然后使用以下两行: [注册表] x64- Root:HKLM;子项:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo;ValueType:字符串;ValueName:DevServer;ValueData:DBNMPNTW,\\.\PIPE\MSSQ

我在使用Inno安装程序进行安装时遇到问题。我需要安装SQL 2012 Express x64版本,但当它完成安装后,想法已经是让100%配置环境,或者在我的情况下使用命名管道

必须通过记录输入命名管道,然后使用以下两行:

[注册表]
x64-
Root:HKLM;子项:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo;ValueType:字符串;ValueName:DevServer;ValueData:DBNMPNTW,\\.\PIPE\MSSQL$SQL2012EXPRESS\sql\query

x86(works)-
根目录:HKLM;子项:SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo;ValueType:字符串;ValueName:DevServer;ValueData:DBNMPNTW,\\.\PIPE\MSSQL$SQL2012EXPRESS\sql\query

对于x86版本,它可以100%正确工作。至于x64版本不起作用,我注意到应该在“regedit”中创建的路径不存在,但如果由Configuration Manager手动创建,则一切正常

我还测试了如何在安装过程中创建一个批处理来运行.reg文件,并且不会被击中


记住我的问题只适用于x64版本。

Inno安装程序是32位应用程序,因此默认情况下,
软件
被重定向到
软件\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


或者