Как справиться с ошибкой установки 1920 о модулях слияния winsxs в Vista и 7?
Когда я пытаюсь установить пакет msi, я получаю сообщение об ошибке только в Vista и 7. "Ошибка 1920. Не удалось запустить службу... (...). Убедитесь, что у вас достаточно прав для запуска системных служб"
Я получаю эту ошибку в Vista или 7, если я собираю свою установку с помощью модуля слияния C++ 9 CRT Winsxs MSM
Если я использую библиотеки времени исполнения C и C++ 7, у меня не будет этой проблемы, но я должен собрать свой exe-файл со старыми версиями MS Visual Studio.
У кого-нибудь есть идеи, как я могу справиться с этим?
1 ответ
Как правило, вы не должны зависеть от файлов, которые вы устанавливаете в вашем установщике. Например, что если проблема с использованием файла на клиентском компьютере потребовала перезагрузки для размещения нового файла? Или что, если какой-то компонент, который вам нужен, также требует регистрации данных конфигурации, что не произойдет до перезагрузки или входа / выхода из системы? Последующие операции вашего установщика будут ошибочно использовать непредвиденную среду.
У меня есть твердое мнение против статического связывания по соображениям безопасности, совместного использования кодовой страницы и т. Д., Но в особом случае установщиков я бы порекомендовал вам статически связать CRT, чтобы он гарантированно был доступен во время установки.