3

我可以在 InstallShield 2009 中使用 InstallScript 项目创建 64 位 setup.exe 文件吗?文档仅与 msi 项目有关。或者请告诉我使用 64 位注册表项的替代方法。

4

2 回答 2

3

从技术上讲,不,您不能创建 64 位 InstallSciprt Setup.EXE。Setup.EXE 是一个 32 位应用程序,但我不认为这正是您所要求的。

我想你是在问你是否可以编写一个可以运行本机 64 位注册表/文件系统命令的 InstallScript 包,答案是“是”。

对于您特别询问的注册表,请参阅: REGDB_OPTIONS

添加 option REGDB_OPTION_WOW64_64KEY,然后您可以像往常一样调用 Registry 函数,但它们将在 Registry 的 64 位部分上运行。要切换回 32 位,请删除该REGDB_OPTION_WOW64_64KEY选项。

于 2009-08-29T00:35:46.227 回答
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;
于 2009-09-21T20:44:40.103 回答