【发布时间】:2017-11-21 12:27:30
【问题描述】:
我使用 WiX 3.10.3 创建我的安装程序。我的安装程序将一个文件(可选)安装到用户的主目录 (%HOMEDRIVE%%HOMEPATH%)。最近我从一位用户那里得到了这个截图:
它会在安装程序启动并停止安装后立即显示。显然用户的主目录是 H:\,这是一个映射的网络驱动器,但已断开连接。我模拟了同样的情况并得到了同样的错误。到目前为止一切顺利。
如果我将此文件的安装路径设置为不存在的驱动器 (B:) 中的文件夹,则会收到不同的错误:
安装程序启动后也会显示此错误,并在我单击“确定”时中止安装。
如果我将其设置为可用驱动器中不存在的文件夹,则不会显示错误。我可以完成安装,安装程序会创建完整路径并将文件放在那里。
现在,我的 .wxs 文件中没有任何内容可用于检查驱动器的可用性,所以我猜 WiX 会自动进行这些检查 - 但我找不到任何文档或文本/博客其中提到了 WiX 的这种行为。 显然 MSI 正在执行这些检查:这些错误消息对应于 Windows Installer Error Messages list 中的错误 1316 和 1327。 我的问题是,由于这个文件是可选的,我不希望对其路径进行这些检查。
即使无法安装此特定文件,我也希望安装程序跳过它并继续。在安装过程中显示带有“中止”和“跳过”选项的错误屏幕是理想的,但我的 Google-fu 也没有削减它。
【问题讨论】:
-
是什么让这个文件“可选”?一般来说,文件要么安装,要么不安装,它们在(比如)传递组件或功能中是可选的?我问是因为这可能有助于我们提供解决方案。
-
这是一个配置文件,让目前只有我们的高级用户的生活更轻松。应用程序可以在没有此文件的情况下以默认配置运行。
标签: wix windows-installer wix3 wix3.10