WIX C # Champaction, что я делаю не так?
-
01-10-2019 - |
Вопрос
Я использую VS2010 и WIX 3.5.
1) Я создал проект WIX Setup.
2) Затем я добавил в решение C # Custom Action Project и назвал его «Customations»
namespace CustomActions
{
public static class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
Debugger.Break();
MessageBox.Show("It works");
session.Log("Begin CustomAction1");
return ActionResult.Success;
}
}
}
3) Затем я составил настройки проекта и добавил ссылку на него из моего проекта установки.
4) И, наконец, поместите в файл .wxs:
<Binary Id="CustomActions" SourceFile="$(var.CustomActions.TargetDir)$(var.CustomActions.TargetName).CA.dll"/>
<CustomAction Id="CustomAction1" BinaryKey="CustomActions" DllEntry="CustomAction1" Execute="immediate" />
Это не работает. Что я делаю неправильно? Пожалуйста помогите.
Решение
Вам также необходимо запланировать пользовательские действия для запуска
<InstallUISequence>
<Custom Action="CustomAction1" After="AppSearch"/>
</InstallUISequence>
Также вы должны знать, что работает в лимитах Sandbox MSI много вещей. Я не верю, что ваш звонок на Messagebox. Show будет работать. Вам придется вместо этого придется полагаться на регистрацию сеанса.
Не связан с StackOverflow