在这种情况下,我想安装一个应用程序并在安装时添加防火墙例外,但是当失败时,安装不应该回滚,而是向执行安装的用户/管理员显示通知。
我使用WIX构建安装程序。 到目前为止我所做的是安装防火墙例外的以下内容:
<Component Id="fwException" DiskId="1" Guid="guid">
<fw:FirewallException
Name="new firewall exception"
Id="FirewallException"
Port="1234"
Protocol="tcp"
Scope="any"
IgnoreFailure="yes"
>
</fw:FirewallException>
</Component>
所有正常和无法回滚,但如何让安装程序在安装结束时显示通知或对话框,通知用户未添加防火墙例外。
由于无法在防火墙中添加例外,因此在进行故障排除时可能会产生误导。
我正在考虑在某个地方使用?fwException = INSTALLSTATE_ABSENT,但不知道在哪里使用它来获得所需的效果。
非常感谢任何提示/提示。
答案 0 :(得分:3)
当UILevel属性指示它是交互式安装时,没有滚动自己的自定义操作提示忽略,重试,取消对话框,我看到大多数安装程序(SQL Server,TFS)处理它的方式是有一个先决条件检查UI部分以警告您可能存在问题。
他们通常检查的问题是防火墙已被禁用,因此无法注册该例外。因此,如果您稍后启用防火墙,则应用程序将无法运行。
就个人而言,我处理它的方式是安装程序中的防火墙例外对于90%的人来说是一件好事。人们可能正在运行其他防火墙产品,或者防火墙配置可能会在以后发生变化,因此最好让应用程序本身对其进行检测。