installshield的三个大坑

2021-6-9 16:46

最近在用InstallShield打包我负责的智能运维系统的卫星端,各种各样的问题浪费了好几天时间,各种尝试各种猜测,记备一下。

1.注册表要获取software的注册表项时候需要添加代码,例如localmachine的"SOFTWARE\\JavaSoft\\Java Development Kit\\1.8.0_151";

REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
用完之后再改回来
REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;

否则64的系统会获取到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node下面去

2.修改系统path变量,如果用的是修改注册表的方式,卸载时候会清空path,这样再重新安装时候可能会出问题,比如我用的winsw会导致运行无任何日志的出错,这里浪费了将近一天时间,问题实在太隐蔽了。

3.注册服务失败,各种注册服务的方式都尝试了,还是失败。ServiceAddService方式,执行程序注册的方式,最后发现是项目类型的问题,Basic类型的项目就是不行,换成了InstallScript MSI类型的项目就可以了。

点击:loading..
收藏到:中国收客网
评论