Как я могу получить WIX, чтобы вызвать метод в монтаже .NET в рамках процесса установки?

StackOverflow https://stackoverflow.com/questions/3902677

  •  29-09-2019
  •  | 
  •  

Вопрос

Я мигрирую некоторые существующие продукты для использования Wix 3.5 (я использую интеграцию VSEive VS). Некоторые из предметов, которые я устанавливаю, необходимо зарегистрироваться в сторонних рамках. Требование заключается в том, что я должен позвонить в систему () реестра () в третьей стороне .NET Abstase, чтобы сообщить об этом наличии элементов, которые я устанавливающих. Он ожидает, что COM Progid.

Я не могу понять, как получить Wix, чтобы сделать это. Я подумал о создании двоичного пользовательского действия, но я не могу найти способ передать параметр (строку, содержащую прог -прогид) в это пользовательское действие. Я не хочу жестко кодировать это, потому что мне нужно, чтобы это было многоразовое код. Я не вижу способа сделать это декларативно, потому что функция Register () - это «черный ящик».

Человек Это крутая кривая обучения. Какой мой лучший подход здесь?

Это было полезно?

Решение

Посмотрите на фонд инструментов развертывания (DTF) для WIX. Существует файл dtf.chm с установкой Wix с большим количеством информации.

Предполагая, что ваш процесс установки - это что-то вроде

  1. Установка установки, входные параметры/прогид, проверка и т. Д.
  2. Начать фактическую установку файлов
  3. Методы регистрации вызовов

Вам понадобится два пользовательских действиях (игнорирование отката и удаления)

  • Setupregistration.
  • Дорегистрация

SetuPregistration должен быть немедленным пользовательским действием, выпущенным либо из пользовательского интерфейса, либо поздно в фазе установки. Он захватывает Progid и любые другие необходимые данные, использует объект TazexaDaDATA и присвоит, что для свойства имени «Doregistration» (Важно, имя свойства должно быть таким же, как и второе пользовательское действие)

Дорегистрация является отложенным пользовательским действием и должна быть запланирована в InstallexeCuteSecence, вероятно, после файлов установки, но это зависит. Он вытягивает свойство Session.CustomActionData и вытаскивает прог -прогид, а затем вызывает любой метод регистрации, который вам нужен.

Другие советы

Я использую своего рода то, что вы описали.

Я использую, чтобы вызвать настройки (события) при необходимости. Как и нажав кнопку, вы можете позвонить на метод, который будет работать для вас.

Вызов настраиваемого действия как:

<Custom Action="ActionName" After="InstallFinalize">CONDITION = "1"</Custom>

Или вызов пользовательского действия на основе конкретной кнопки нажмите:

<CustomAction Id="TestConnection" BinaryKey="SetupCustomActions" DllEntry="TestConnection" Execute="immediate" Return="check" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top