WIX安装程序:使用自定义操作设置其他文本以退出对话框

时间:2016-10-27 16:56:55

标签: wix

我正在使用wix安装ASP.NET MVC网站。我需要在退出屏幕上显示已安装网站的网址。

我有以下属性:

<Property Id="WEBSITE_URL" Value="NotSet" />
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="NotSet" />

使用自定义操作填充:

<CustomAction Id="GetWebsiteUrl"
              BinaryKey="CustomActions"
              DllEntry="GetWebsiteUrl"
              Execute="immediate"
              Return="ignore" />

<CustomAction Id="SetExitDialogAdditionalText"
              Property="WIXUI_EXITDIALOGOPTIONALTEXT" 
              Value="The API may be accessed from the following URL: [WEBSITE_URL]"/>

InstallUISequence如下:

<InstallUISequence>
      <Custom Action='GetWebsiteUrl' Before='ExecuteAction'>NOT Installed AND NOT REMOVE</Custom>
      <Custom Action="SetExitDialogAdditionalText" After="GetWebsiteUrl">NOT Installed AND NOT REMOVE</Custom>
</InstallUISequence>

退出屏幕上的结果字符串是:

  

可以从以下网址访问API: NotSet

我尝试在InstallExecuteSequence中执行自定义操作,在日志中我可以看到该字符串看起来是正确的:

<InstallExecuteSequence>
      <Custom Action='GetWebsiteUrl' Before='InstallFinalize'>NOT Installed AND NOT REMOVE</Custom>
      <Custom Action="SetExitDialogAdditionalText" After="GetWebsiteUrl">NOT Installed AND NOT REMOVE</Custom>
</InstallExecuteSequence>

日志中的结果:

  

PROPERTY CHANGE:修改WEBSITE_URL属性。它的当前价值是   '没有设置'。它的新价值:'http://localhost:80'。

     

PROPERTY CHANGE:修改WIXUI_EXITDIALOGOPTIONALTEXT属性。它的   当前值为'NotSet'。它的新价值:'API可能是   从以下网址访问:http://localhost:80'。

但在UI中出现问题。 我觉得问题出现在InstallUISequence中,但无法理解我做错了什么。请指教。

1 个答案:

答案 0 :(得分:0)

如果未在UI和执行序列中正确保存值,请尝试将WEBSITE_URL属性声明为安全。