У меня есть MSI на основе WiX, который устанавливает службу и некоторые ярлыки (и множество других файлов, которые этого не делают).
Ярлык создается, как описано в Документах WiX , с ключом реестра в HKCU в качестве файла ключа.Это установка для всех пользователей, но чтобы пройти ICE38, этот раздел реестра должен быть под текущим пользователем.
Когда служба запускается (работает под учетной записью SYSTEM), она замечает, что этот раздел реестра недействителен (по крайней мере, для этого пользователя), и снова запускает установку для восстановления.
В журнале событий я получаю события MsiInstaller 1001 и 1004, показывающие, что «ресурс 'HKEY_CURRENT_USER \ SOFTWARE \ MyInstaller \ Foo' не существует».Это не удивительно, поскольку у пользователя SYSTEM не было бы этого ключа.
Я включил ведение журнала MSI для всей системы, и авторемонт создал свой файл журнала в папке C: \ Windows \ Temp, а не в папке TEMP конкретного пользователя, которая, по-видимому, подразумевает, что текущий пользователь был SYSTEM (плюсфайл журнала показывает, что «процесс вызова» является моей службой).
Что я могу сделать, чтобы отключить функцию автоматического восстановления?Я делаю что-то не так или нарушаю какое-то правило MSI?Любые советы о том, где искать дальше?