Значимые сообщения об ошибках / сбоях в burn bootstrapper / wix
Я пытаюсь дать настраиваемые / значимые сообщения об ошибках, если есть какие-либо сбои при установке с использованием Burn начальной загрузки.
Краткое введение об установщике. Я использую Burn Boosttrapper, который имеет цепочку msipackages(3). Пакет MSI имеет пользовательские действия в C#. Я использую локализацию wxl. Ниже приведен раздел об ошибках и см. Выделенное пользовательское сообщение.
<Page Name="Failure">
<Text Name="FailureHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureHeader)</Text>
<Text Name="FailureInstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureInstallHeader)</Text>
<Text Name="FailureUninstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureUninstallHeader)</Text>
<Text Name="FailureRepairHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRepairHeader)</Text>
<Hypertext Name="FailureLogFileLink" X="11" Y="121" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
<Hypertext Name="FailureMessageText" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" ></Hypertext>
<Hypertext Name="CustomMessage" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" >[CustomMessage]</Hypertext>
<Text Name="FailureRestartText" X="11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
Я могу получить доступ к этому пользовательскому сообщению в качестве переменной записи и передать в MSI с помощью msiproperty
<Variable Name="CustomMessage" Value="Hi"/>
<MsiProperty Name="CustomMessage" Value="[CustomMessage]"/>
Также я могу получить доступ к этому customMessage в настраиваемом действии, используя сеанс ["CustomMessage"]
Вопрос: Когда я изменяю этот сеанс ["CustomMessage"] из настраиваемого действия, он не отражается обратно в переменную записи и обратно в CustomMessage в wxl? Может ли кто-нибудь помочь мне в этом.
из пользовательских действий
session["CustomMessage"]="Please enter valid details";
1 ответ
Из этого Ответа @RobMensching, есть способ сделать это. Но, к сожалению, вам придется копаться в коде, чтобы реализовать его.
"В вашем исполняемом файле может быть реализован" встроенный протокол записи "для отправки богатых сообщений о ходе выполнения и ошибках. Он совсем не задокументирован, поэтому вам нужно пройти через код записи, чтобы увидеть протокол, но он есть и поможет вам точно что вы хотите. "bundlerunner".csproj в исходном коде WiX также может быть полезен. "
И этот Вопрос говорит о 2 разных подходах к общению с загрузчиком WiX. Надеюсь, это будет что-то для вас, чтобы начать.