【问题标题】:WiX MSI installer fails to install from an alias driveWiX MSI 安装程序无法从别名驱动器安装
【发布时间】:2019-09-11 23:56:03
【问题描述】:

在我们的 .NET Framework 4.6.2 解决方案中;我们有一个 WiX 项目负责为我们的 WPF 应用程序生成 .msi 安装程序包。

生成的.msi 可以在我的机器上正常安装,但不能在同事的计算机上。

在调查了几个小时后,我们得出结论,这是因为我同事计算机上的 D:\ 驱动器的性质。

.msi 正在从别名硬盘驱动器运行。他通过following instructions here 创建了别名。所以别名驱动器只是C:\ 上的一个普通文件夹,但你把它变成了别名硬盘。

.msi从别名驱动器外部运行时,程序安装没有任何问题,否则他会得到这些错误:

单击Retry 不会执行任何操作,但单击取消会显示以下内容:

在我的机器上,我没有设置任何别名硬盘,一切正常,换句话说,程序安装没有任何问题。

我们如何让安装程序也可以使用别名驱动器?

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    Windows 安装程序不支持此功能。 Subst 创建的别名仅存在于创建它的用户配置文件中。 MSI 以 SYSTEM 身份运行,看不到它。

    【讨论】:

      【解决方案2】:

      Subst 被认为是无害无用的:是的,正如 Chris 所说,我们都曾见过这种情况。 MSI 是个老姑娘了,新的 Windows 功能或奇怪的旧功能都会导致此类问题。

      解决方法:在解决方法领域,可能检查功能和/或转换:

      • 可选功能:这个 D:\ 驱动器是什么?是他的personal data storage吗?您是否将文件安装到 "My Documents" 或类似的位置?如果您为进入 D:\ 驱动器的组件创建一个单独的功能,然后从安装中取消选择该功能,那么它会安装吗? (尽管有一些丢失的文件)。 Screen shot of feature selection.

      • 转换:还有其他方法可以实现禁止安装功能和文件。您可以使用转换(小的数据库片段)将运行时更改应用到正在运行的 MSI 安装程序。 More on transforms hereShorter version here。只需one more

      管理安装:您可以(也)从另一台计算机获取丢失的文件,或者可以通过运行 MSI 的管理安装:What is the purpose of administrative installation initiated using msiexec /a?(美化文件提取)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-18
        • 2013-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多