Передача REINSTALLMODE в файл MSI

Я использую VisualStudio2005 и vdproj для создания простого файла MSI. Я должен передать в свойстве REINSTALLMODE, когда я запускаю его.

Я знаю, что это может быть сделано через командную строку, как так: msiexec.exe /i foo.msi REINSTALLMODE=amus

Однако, если пользователь принимает решение нажать msi непосредственно (запускающий мастер), свойство не передается. Действительно ли возможно сделать это с помощью VS и vdproj?

Некоторые опции я занялся расследованиями:

  • Когда я создаю MSI с помощью VS, он также производит setup.exe. Существует ли способ передать свойство REINSTALLMODE через это, возможно?
  • Я установил Косатку, которая позволяет мне просматривать/редактировать таблицу Property MSI. Я мог добавить его этот путь, но затем я должен буду добавить его каждый раз, когда я делаю сборку MSI.

Спасибо за любой совет.

7
задан Ken 22 December 2009 в 16:27
поделиться

1 ответ

К сожалению, я не могу найти способ установить другие свойства MSI прямо в VStudio.

Тем не менее, один из методов, который должен работать, это:

  1. Использовать Orca для создания преобразования (MST), которое изменяет только свойство REINSTALLMODE. (Короче говоря, вы редактируете свойство и сохраняете как новое преобразование, затем используете команду "Generate Transform" для создания MST.)
  2. Это преобразование может быть применено непосредственно к вашему MSI с помощью команды MSITRAN.EXE (доступно в том же SDK инсталлятора Windows, в котором вы нашли Orca).
  3. Вы также можете: (a) найти способ, чтобы Visual Studio всегда выполняла вашу команду MSITRAN сразу же после сборки MSI, либо (b) просто запустите MSITRAN вручную (из пакетного файла или из него) после сборки, но перед тестированием.
4
ответ дан 6 December 2019 в 23:06
поделиться
Другие вопросы по тегам:

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