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. 。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值