我正在使用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中,但无法理解我做错了什么。请指教。
答案 0 :(得分:0)
如果未在UI和执行序列中正确保存值,请尝试将WEBSITE_URL属性声明为安全。