2016-10-26 17 views
0

Я хотел бы знать, есть ли способ предотвратить откат при сбое пакета.Wix bootstrapper Как предотвратить откат

Как и в моем случае, у меня есть пакет .bat, который задает имя пользователя и пароль для некоторых служб. И если это не удается, я хочу показать сообщение в конце установки, в котором говорится, что пользователю необходимо вручную установить учетные данные. Также, когда я проверяю учетные данные перед установкой, и по какой-то причине они потерпели неудачу, я говорю пользователю, что учетные данные могут быть неправильными и спросить его, хочет ли он продолжить.

(Else я бы не хотел, чтобы предотвратить откат)

Я знаю, что есть в <ExePackage/>, что я могу использовать, чтобы предотвратить откат <ExitCode/>, но тогда я не могу обнаружить значение ошибки в моем загрузчике ,

Я также попытался прочитать статус в моем загрузчике, когда пакет завершена, а затем возвращать одно из следующих действий:

e.Result = Result.Continue; 
e.Result = Result.Ignore; 
e.Result = Result.Ok; 

Exemple чтения Статус:

if (e.Status == -2147024895) 
{ 
    e.Result = Result.Continue; 
} 

Но это еще rollsback ,

+0

В определениях пакетов вы можете использовать '', чтобы он просто продолжал указывать определенные ошибки, просто будьте осторожны, какие из них вы пропускаете, поскольку они могут быть ошибками других действий. –

+0

@BrianSutherland Как сказано в вопросе: я знаю, что есть '' in '', который я могу использовать для предотвращения отката, но тогда я не могу обнаружить значение ошибки в моем Bootstrapper. –

ответ

0

Я получил мой ответ здесь: http://lists.wixtoolset.org/pipermail/wix-users-wixtoolset.org/

В принципе, все, что вам нужно сделать, это установить пакет, который вы хотите обрабатывать код возврата Vital='no' и в ExecutePackageComplete обработчика использовать e.Result = Result.Ignore; для предотвращения отката.

 Смежные вопросы

  • Нет связанных вопросов^_^