IS笔记-64位系统注册表的问题
installscript MSI工程,打包时把32位程序写入64位的系统注册表:
导入注册表的时候,直接放到HKEY_LOCAL_MACHINE\SOFTWARE下,在components里找到注册表元件,在右边属性列表里64bit component 选择no(默认值)。
打包好后在64位系统,会自动写入HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node里面。
****************************
今天很高兴,解决了个IS打包的问题。
3个月前,公司把大包的工作丢给了我,我也以为这是很容易的事(其实也不难,对于我们公司的小软件来说,基本的功能可以满足了)
后来客户方的服务器系统换了,换成64位的Server系统。
我们原来的安装包是设计在32位下的,所以打包要改下。
32位注册表是写在HKEY_LOCAL_MACHINE\SOFTWARE\下面的,
到了64位系统,会自动的把32位的东西放到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node下面。而64位里HKEY_LOCAL_MACHINE\SOFTWARE\下面是放64位程序的注册表。
我刚开始死脑筋,导入注册表的时候,非要加一级目录Wow6432Node,结果打包好安装的时候提示写入注册表HKEY_LOCAL_MACHINE32\SOFTWARE\Wow6432Node\aaa出错(aaa是我打包的软件名)。
又疑为是权限问题,在网上找了资料,还问了Kevin,结果还是没有做出来。
今早上班,我突然想,64位的会自动写入HKEY_LOCAL_MACHINE\SOFTWARE\,32位会自动写入Wow6432Node,那我在工程里布加Wow6432Node目录不知道行不行。
一时果然可以,这么简单的问题困扰我好久。