Wix heat.exe генерирует некорректный фрагмент для dll контекстного меню в 32-битном приложении Windows 7 - PullRequest
0 голосов
/ 07 ноября 2011

Итак, у нас есть этот 32-разрядный программный пакет, который устанавливается на компьютерах с Win XP и Win 7.

Текущая проблема, на которую я обращаю внимание, заключается в том, что при установке части пакета записываются значения реестра, чтобы добавить исполняемый файл в пакете в контекстное меню Windows. Эти значения реестра являются частью фрагмента wix, который генерируется под воздействием тепла от DLL, которая является частью процесса (т. Е. DLL исполняемого файла).

Проблема в том, что, хотя он работает на встроенном Windows XP, на Windows 7 не только приложение НЕ отображается в контекстном меню, но и что-то ломается, так что опция «Новая папка» удаляется из всех контекстных меню , Удаление приложения не работает, но это можно исправить, добавив параметры реестра с этого сайта: http://social.technet.microsoft.com/Forums/en-IE/w7itprogeneral/thread/97de8a2a-12f2-4381-a409-a78f4ae551cf

Конечно, когда вы устанавливаете новую сборку, она снова стирается, и, как разработчики, иногда мы устанавливаем и удаляем 5-6 сборок в день. Я подтвердил, что это именно те параметры реестра, удалив их из установщика и собрав и установив их, а опция «Новая папка» с радостью останется на месте.

Итак, мой вопрос: есть ли проблема с генерацией тепла допустимых значений реестра для записи для 32-битного приложения / dll, которое будет добавлено в контекстное меню в Windows 7? (для полного раскрытия, я использую win7 64-bit, но у нас была та же проблема с win7 32-bit, но мы не пробовали Vista)

1 Ответ

0 голосов
/ 21 февраля 2012

Heat просто захватывает ключи реестра, записанные во время вызова DllRegisterServer ().Если вы не получаете ожидаемые ключи реестра, посмотрите на код DllRegisterServer (), чтобы узнать, что он делает.Кроме того, может оказаться более полезным захватить разделы реестра один раз, убедиться, что они правильные, и больше не использовать heat.exe.

Это мой предпочтительный подход.

...