好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

installshield 64位OS打包注意事项 - Windows操作系统

installshield 64位OS打包注意事项

 

1、安装目录

 

64位系统下,安装目录分Program Files和Program Files(x86)。 

64bit Application会自动安装在Program Files下; 

32bit Application会自动安装在Program Files(x86)下。 

 

2、系统目录 

 

64位系统下,系统目录分system32和syswow64。 

64bit AP 运行在system32下; 

32bit AP 运行在syswow64下。 

 

Installshield打包注意事项: 

问题:当32位的AP调用WINSYSDIR变量时,会默认指向syswow64,就算是调用WINDIR^"system32",也会被强迫指向syswow64。 

 

解决:Disable(WOW64FSREDIRECTION) 

WOW64FSREDIRECTION:起着判断64位系统下调用哪个系统变量的作用,Disable掉后,就会默认指向system32。 

注意:当安装进行完后,记得Enable(WOW64FSREDIRECTION),以避免影响系统的其他程序。 

 

经验: 

在Installing()事件中Disable(WOW64FSREDIRECTION); 

在Installed()事件中Enable(WOW64FSREDIRECTION); 

这样整个安装过程就不用去考虑何时开关了。 

 

同样,卸载的过程中也得在UnInstalling()和UnInstalled()中这样做,才会卸载掉对应的部分。 

 

3、注册表 

 

64位系统下,注册表分HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 

  和HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run 

让32bit AP注册在默认的注册表

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run中,命令:REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY; 

同时,用完也记得REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY; 

-------------------------- 

需要注意的是把与32位有关的目录,方法,都用64位的代替。这样就可以保证正确的安装到64位的目录下面。 

 

1.REGDB_OPTIONS 让注册表函数在64位win系统上正确读写而非读写 6432node 

 

REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;  

REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY; 

 

2. 阅读 installshield 关于 系统 目录的 64的东西 

 

3. 设置 compoment 为64 位 

 

4. 。。。

查看更多关于installshield 64位OS打包注意事项 - Windows操作系统的详细内容...

  阅读:194次