Wix: как получить статус возврата пользовательского действия и использовать его в качестве условия для запуска определенного диалогового окна события/показа

Могу ли я узнать, как получить статус возврата пользовательского действия (запускающего командную строку) и использовать его в качестве условия для запуска определенного диалогового окна события/показа? Например, в диалоговом окне, когда я нажимаю следующую кнопку, выполняется пользовательское действие. Затем, если пользовательское действие выполняется успешно, перейдите к следующему диалоговому окну. В противном случае показать диалоговое окно с сообщением об ошибке. Есть ли у кого-нибудь идеи или примеры кодов, на которые я могу ссылаться?

Большое спасибо.


person cynthia hong    schedule 03.02.2012    source источник
comment
Вы можете использовать какое-то свойство и присвоить какое-то значение на основе результата пользовательского действия и использовать это свойство, чтобы перейти к следующему диалоговому окну или показать сообщение об ошибке.   -  person vinay    schedule 03.02.2012


Ответы (2)


Я предполагаю, что MSI не поддерживает то, что вы хотите.
Вы можете либо дать ему указание завершиться ошибкой, если .exe имеет ненулевой код выхода, либо проигнорировать его. Если вам нужен код выхода, напишите пользовательское действие DLL, которое запустит .exe и получит его код выхода. Затем вы сможете установить свойство в сеансе MSI и использовать его в условии.

person Alexey Ivanov    schedule 05.02.2012

Основываясь на том, что сказал Винай:

Отличная статья: http://www.codeproject.com/Articles/43564/WiX-Tricks#_Toc245109720

Последняя часть статьи дает вам хорошее руководство по передаче параметров.

String propertyValue = session["PROPERTYNAME"]; //gets a property value from wix file
session["PROPERTYNAME"] = propertyValue; //sets a property value that can be used in wix file
person Jazon    schedule 03.02.2012