Как создать проект настраиваемого действия с WIX 2.0

Я установил WIX 2.0 (и Votive). Мне нужно создать пользовательские настраиваемые действия с помощью проекта настраиваемых действий. Я нашел шаблон проекта настраиваемого действия в VS2008 при установке WIX 3.0. Я не смог найти ни одного шаблона в VS2005 с WIX 2.0.

Может ли кто-нибудь, дайте мне знать, как я могу создать проект настраиваемого действия (класс с некоторым настраиваемым действием) .. как это

[CustomAction]
public static ActionResult InstallItem1(Session session)

Я думаю, что Microsoft.WindowsInstaller и Microsoft.Deployment.WindowsInstaller - это ссылки, необходимые (не уверен) для создания таких методов, но я не смог найти их на своем компьютере.


Мне удалось создать проект настраиваемого действия (просто библиотека классов с одним классом и методами настраиваемого действия), сославшись на dll Microsoft.WindowsInstaller. Но столкнулся с проблемой при выполнении этой dll ..

<Custom Action='_InstallItem2' After='_InstallItem1'/>

<CustomAction Id='_InstallItem2'
  BinaryKey='CustomActionLibrary.dll'   
  DllEntry='InstallItem2'
  Impersonate='yes'
  Execute='immediate'
  Return='check' />

<Binary Id='CustomActionLibrary.dll'
  SourceFile='C:\WIX\CustomActionLibrary.dll' />

В этой dll есть метод под названием InstallItem2, помеченный как [CustomAction]. Но возникает ошибка:

Проблема с этим пакетом установщика Windows. DLL, необходимая для завершения этой установки, не может быть запущена (...)

Есть идеи, почему возникает эта ошибка?


person Venkat    schedule 19.03.2010    source источник


Ответы (1)


То, что вы ищете, на самом деле является проектом DTF (основа инструментов развертывания), но DTF впервые был выпущен с WiX 3.0.

person On Freund    schedule 19.03.2010
comment
Спасибо за информацию, Фройнд. На самом деле мне нужно выполнить некоторые действия как часть установщика, которых нет в настраиваемых действиях WIX (некоторые функции, специфичные для приложения ... аналогично настраиваемым действиям в WIX 3.0). Как это сделать в WIX 2.0. Любая идея? - person Venkat; 19.03.2010
comment
У меня нет опыта работы с 2.0, но я предполагаю, что вы все еще можете создавать проекты настраиваемых действий C ++ с помощью мастера. Если это не сработает, вы всегда можете создать DLL с настраиваемым действием и вызвать ее из установщика. - person On Freund; 19.03.2010
comment
Спасибо за ваше время, Фройнд, я попытался создать dll с настраиваемым действием с шаблоном «Библиотека классов», но [CustomAction] общедоступный статический ActionResult InstallItem1 (сеанс сеанса) выдает ошибки .. не удается найти ссылки для сеанса, ActionResult и т. Д. I думаю, что для этого требуются библиотеки Microsoft.WindowsInstaller и Microsoft.Deployment.WindowsInstaller. - person Venkat; 19.03.2010
comment
Эти пространства имен являются частью DTF, которая вам понадобится, если вы хотите использовать C #. Для того, что я предлагаю, вам необходимо создать неуправляемую библиотеку классов C ++. Но почему бы просто не использовать WiX 3.0? - person On Freund; 19.03.2010
comment
Наш установщик будет интегрирован с установщиком клиента (на WIX 2.0) .. поэтому мы должны использовать только 2.0 :( - person Venkat; 19.03.2010
comment
Как будет происходить интеграция? Если вы создаете модуль слияния, нет проблем с его созданием с помощью 3.0 и интеграцией в 2.0 MSI (фактически, вы можете заменить его любым другим инструментом разработки MSI / MSM с обеих сторон) - person On Freund; 19.03.2010
comment
Это будет отдельный установщик, но на сборочной машине установлен только wix 2.0, а версия зависит от клиента. - person Venkat; 19.03.2010