Использование 32-битного интерфейса Installshield Automation на 64-битной машине. - PullRequest
0 голосов
/ 06 сентября 2018

Было бы неплохо, если бы InstallShield предоставил 64-битную версию их интерфейса автоматизации, но до тех пор .... попробуйте это. Добавьте суррогатный ключ реестра для объекта автоматизации InstallShield, добавив эти ключи. Этот CLSID предназначен для IswiAuto23. Если у вас установлена ​​другая версия объекта автоматизации InstallShield, найдите в реестре соответствующий clsid InstallShield и обновите реестр соответствующим образом.

[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"=""

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

В моем случае мне нужно было получить доступ к проекту InstallShield с использованием Ruby64bit (win32ole). Мне не удалось создать объект IswiAuto23, пока я не добавил этот суррогат. Это позволило создать отдельный 32-битный процесс, который может создать объект InstallShield, а также получить доступ из 64-битного вызывающего приложения (процесса). Для подробного объяснения см. Здесь https://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/

Если у кого-то есть другая или лучшая идея для использования объекта InstallShield из Ruby64, пожалуйста, дайте мне знать.

0 голосов
/ 09 сентября 2018

Системы сборки, которые я использую, позволяют мне указать версию и разрядность используемой msbuild. Я не вижу стратегического преимущества запуска компилятора installshield или интерфейса автоматизации в виде 64-битного процесса. 2 ГБ памяти достаточно, нет?

...