我可以使用InstallShield 2009中的InstallScript项目创建64位setup.exe文件吗? 文档仅涉及msi项目。 或者告诉我使用64位注册表项的替代方法。
答案 0 :(得分:3)
从技术上讲,不,您无法创建64位InstallSciprt Setup.EXE。 Setup.EXE是一个32位应用程序,但我不认为这正是你所要求的。
我认为您在询问是否可以编写可以运行本机64位注册表/文件系统命令的InstallScript软件包,答案是“是”。
对于您特别询问的注册表,请参阅: REGDB_OPTIONS
添加选项REGDB_OPTION_WOW64_64KEY
,然后您可以像往常一样调用注册表功能,但它们将在注册表的64位部分上运行。要切换回32位,请删除REGDB_OPTION_WOW64_64KEY
选项。
答案 1 :(得分:1)
使用REGDB_OPTION_WOW64_64KEY时,请确保在离开函数之前始终删除该设置,因为这可能导致setup.exe在某些版本的InstallShield中不创建卸载日志。因此,虽然您的setup.exe可能会运行卸载,但它会将所有文件保留在系统上,因为它不会创建Setup.ilg文件
开始:
if (SYSINFO.bIsWow64) then
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
endif;
端:
if (SYSINFO.bIsWow64) then
REGDB_OPTIONS = REGDB_OPTION_USE_DEFAULT_OPTIONS;
endif;