Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation windows xp上msi安装程序的问题_Installation_Windows Xp_Registry_Conditional Statements_Launch - Fatal编程技术网

Installation windows xp上msi安装程序的问题

Installation windows xp上msi安装程序的问题,installation,windows-xp,registry,conditional-statements,launch,Installation,Windows Xp,Registry,Conditional Statements,Launch,我对最近在为WindowsXP64位平台制作MSI安装程序时遇到的一个问题一无所知 在安装程序的启动条件下,我试图从注册表读取,但安装程序没有获取正确的值。我尝试检查不同的值名,以确认它不仅仅是一个特定的值名,并发现它的行为方式相同 我试图在错误消息中打印获取的注册表值数据,并意识到在某些情况下,它根本没有得到任何值,而在其他情况下,它无法获得作为完整值数据一部分的任何数字 例如,如果尝试读取以下各项的数据: HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\

我对最近在为WindowsXP64位平台制作MSI安装程序时遇到的一个问题一无所知

在安装程序的启动条件下,我试图从注册表读取,但安装程序没有获取正确的值。我尝试检查不同的值名,以确认它不仅仅是一个特定的值名,并发现它的行为方式相同

我试图在错误消息中打印获取的注册表值数据,并意识到在某些情况下,它根本没有得到任何值,而在其他情况下,它无法获得作为完整值数据一部分的任何数字

例如,如果尝试读取以下各项的数据:

  • HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\.NETFramework
  • 值名称:InstallRoot
  • 值数据:
    C:\Windows\Microsoft.NET\Framework64\

安装程序获取的数据是:
C:\Windows\Microsoft.NET\Framework\
。在其他一些情况下,它会得到一个空字符串。

注册表搜索在默认情况下使用32位注册表配置单元,只有在设置了时才使用64位注册表配置单元

因此,解决方案是使用两个具有相同属性的搜索:

  • 一个用于32位蜂巢
  • 一个用于64位配置单元(带有MSIDbLocatorType64位标志)
请注意,Visual Studio安装项目不支持此操作。其他设置创作工具也可以。

yep。。。。它有效!!!!:)。。。太感谢你了。。!!!你真的让我摆脱了困境。。。我自己可能永远也不会在适当的时候找到解决办法。我用虎鲸来做建议的改变