Какие дополнительные шаги вы предпринимаете при создании установщиков MSI для Vista? - PullRequest
6 голосов
/ 19 декабря 2008

У меня очень простой проект установки, который копирует три библиотеки в GAC. Это все, что нужно сделать. Он отлично работает в XP, но на машине с Vista выдает ошибку, утверждая, что не может записать в файл и проверить разрешения. Я уверен, что это связано с какой-то ерундой в Vista, но я не знаю, как с ней справиться.

Кто-нибудь еще сталкивался с этим, и как вы с этим справились?

Ответы [ 4 ]

1 голос
/ 08 мая 2009

Если вы используете установщик Windows, помещаете ли вы свои сборки в специальную папку Global Assembly Cache ? Это всегда работало для меня в Vista и Windows 7. Нет необходимости использовать GACUtil или что-либо еще, просто поместите сборки в нужную папку в проекте установщика.

1 голос
/ 19 декабря 2008

Вы используете gacutil.exe для установки DLL? Или вы просто копируете файлы?

В любом случае, GAC следует избегать для пользовательских библиотек, если они не используются многими приложениями. Держите библиотеки близко / локально к приложению: это будет стоить вам только некоторого дискового пространства и позволит вам использовать простое развертывание Xcopy.

0 голосов
/ 08 мая 2009

Какой компилятор вы используете для создания MSI? После прошлых выходных я могу стать экспертом по вопросам MSI vs. Vista:)

При использовании VC2003 или VC2005 возникают разные проблемы в зависимости от версии компилятора.

Если 2005 год, обязательно установите пакет обновления и пакет обновления Vista. Это может решить вашу проблему.

Если это не удается, вы можете поместить их в GAC с помощью специального действия, но имейте в виду, что в 2005 году была ошибка, в которой бит no_impersonate был установлен неправильно. Вы должны будете установить этот бит самостоятельно, используя скрипт или orca.exe.

0 голосов
/ 08 мая 2009

У меня были некоторые (сторонние) MSI, которые не будут установлены правильно, если я не включу повышенный режим с самого начала, даже если они показывают приглашение UAC позже в процессе.

Устранение неполадок ... Я предполагаю, что вы устанавливаете систему из учетной записи администратора. Но включен ли UAC? Если это так, вы получаете запрос на повышение прав UAC? Попробуйте запустить пакет MSI в повышенном режиме, чтобы увидеть, работает ли он. Из командной строки с повышенными привилегиями:

msiexec /i setup.msi
...