Я использую VS2010 и WIX 3.5.WIX C# CustomAction, что я делаю неправильно?
1) Я создал проект установки WIX.
2) Затем я добавил в проект # пользовательского действия решения C и назвал его
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) Затем я составил CustomActions проект «CustomActions» и добавил ссылку на него из моего проекта установки.
4) И, наконец, положить в .wxs файл:
<Binary Id="CustomActions" SourceFile="$(var.CustomActions.TargetDir)$(var.CustomActions.TargetName).CA.dll"/>
<CustomAction Id="CustomAction1" BinaryKey="CustomActions" DllEntry="CustomAction1" Execute="immediate" />
Это не работает. Что я делаю не так? Пожалуйста, помогите мне.
Вызов MessageBox.Show() будет работать, если он ссылается на пространство имен System.Windows.Forms, а также добавил директиву «Использование System.Windows.Forms» – Mario
Я дал ему тест, и это действительно похоже работать. Я не верю, что это хорошая идея, но любой способ, который выполняет свою работу. :) –
вы должны использовать сеанс. Сообщение, чтобы показать сообщение, иначе вы не можете гарантировать, что окно сообщения будет сверху, даже без дополнительного кодирования –