Какие дополнительные шаги Вы делаете при создании установщиков MSI для Vista?

Вам нужно определить функцию в вашем классе, которая будет получать параметр, который вам нужен, например:

public void MyFunction(MyParameter){ //do anything with your parameter here }

А затем в вашем контроллере вам нужно создать объект вашего класса, например:

[ 111]

Наконец, вы можете вызвать функцию вашего класса в контроллере

user.MyFunction(MyParameter);
6
задан Kilhoffer 19 December 2008 в 04:44
поделиться

4 ответа

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

1
ответ дан 17 December 2019 в 20:36
поделиться

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

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

1
ответ дан 17 December 2019 в 20:36
поделиться

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

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

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

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

0
ответ дан 17 December 2019 в 20:36
поделиться

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

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

msiexec /i setup.msi
0
ответ дан 17 December 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: