На самом деле мы запускаем x86-приложение Windows Desktop C ++ Qt с элементом управления ActiveX HTMLHelpCtrl.ocx (все модули x86) для вызова .chm HtmlHelp приложения.
Теперь мы хотим портировать наше приложение на x64. К сожалению, невозможно использовать текущий x86 HTMLHelpCtrl.ocx напрямую. Доступна ли 64-битная версия HMTLHelpCtrl.ocx? Или что нужно, чтобы иметь возможность использовать элемент управления x86 ActiveX в x64?
Мы уже пытались сделать это так: Использование 32-битного COM-объекта из 64-битного приложения. Но это не вариант, потому что у нас есть требование заставить его работать без административных прав. Поэтому мы не можем изменить значения реестра, упомянутые в статье.
Решение довольно простое: нужно выполнить шаги, к которым вы обращаетесь в вашем установщике. Вот где у вас будут необходимые административные права, и именно здесь такие вещи должны решаться.
Если вы не можете, то вам нужно разделить ваше приложение на два процесса: один 32-битный, а другой 64-битный. Разместите 32-битный объект в 32-битном процессе и запустите все, что требует большой памяти, в 64-битном процессе.