Чтобы установить/удалить/обновить наше программное обеспечение, наш пользовательский установщик использует WindowsInstaller.Installer.Products
, чтобы получить список установленных продуктов из реестра Windows.Получение списка установленных продуктов C#
А на некоторых клиентских машинах, неизвестное программное обеспечение, вероятно, при добавлении новой записи в реестре «HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products» ключ с именем что-то вроде «ABCD». Это вызывает ошибку WindowsInstaller.Installer.Products
. Я могу создать этот сценарий, вручную добавив запись в раздел реестра «HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products 'named' test '. И если я переименую тест на новый GUID, тогда смоделированная проблема будет решена.
Можете ли вы предложить любое возможное обходное решение/решение?
Использование инструмента MSIINV.exe будет затруднительным, так как это инструмент сторонних разработчиков, но это помогает.
Ознакомьтесь с библиотеками взаимодействия MSI в DTX WiX (см. Ниже). Это намного проще и чище, чем пытаться использовать COM Interop с WindowsInstaller.Installer. –