在64位机器上使用32位Installshield自动化接口

问题描述 投票:0回答:2

如果InstallShield提供64位版本的自动化界面会很好,但在那之前....试试这个。通过添加这些键为InstallShield自动化对象添加代理注册表项。此CLSID适用于IswiAuto23。如果安装了不同版本的InstallShield自动化对象,则在注册表中搜索匹配的InstallShield clsid并相应地更新注册表。

[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]

"AppID"="{3C44313C-4B47-4C59-BA06-1398FABFCDAD}"

[HKEY_CLASSES_ROOT\WOW6432Node\AppID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]

"DllSurrogate"=""
ruby com installshield
2个回答
0
投票

我使用的构建系统允许我指定要使用的msbuild的版本和位数。我认为将installshield编译器或自动化接口作为64位进程运行没有战略优势。 2GB的内存是充足的,不是吗?


0
投票

在我的情况下,我不得不使用Ruby64bit(win32ole)访问InstallShield项目。我无法创建IswiAuto23对象,直到我添加了这个代理。这允许创建一个单独的32位进程,该进程可以创建InstallShield对象,也可以从64位调用应用程序(进程)访问。有关详细说明,请参阅此处https://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/

如果有人有另外/更好的想法使用Ruby64的InstallShield对象,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.