【问题标题】:Install duplicate copies of the product安装产品的副本
【发布时间】:2019-09-16 22:53:17
【问题描述】:

我对 wix 很陌生,所以请多多包涵。

我为产品 abc.exe 创建了安装程序

使用这个安装程序,客户希望将 abc.exe 安装在 6 个不同的目录中

但是一旦 abc.exe 是安装程序,然后如果我们再次运行安装程序,删除、修复窗口就会打开。因此,客户端绝对没有选择再次运行安装程序以在其他地方“安装”相同的产品。

我的用户界面代码如下

  <Product>
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
    <UI>
      <UIRef Id="WixUI_InstallDir" />
      <DialogRef Id="InstallInfoDlg" />
      <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallInfoDlg">1</Publish>
    </UI>
    <UIRef Id="WixUI_ErrorProgressText" />
  </Product>

当安装程序再次运行时,我能否再次显示安装对话框而不是卸载对话框?

【问题讨论】:

  • 您将采用哪种解决方案?
  • 目前,我们决定采用按用户安装的方法,在同一系统上拥有多个副本。感谢您在下面提供宝贵的链接
  • 哦,太棒了,太多的链接往往会使人们感到困惑。很高兴他们提供了帮助。祝你好运,如果你看到它们,请稍后报告任何问题。我总是对按用户部署(更新、修补、卸载问题)持怀疑态度,但很多人都喜欢它。

标签: wix


【解决方案1】:

重复文件:在编写以下内容后添加。有一个结构可以复制文件以在安装后显示在多个位置,但这不是动态的,您需要指定副本的所有实例。检查CopyFile elementFound this sample快点,没测试。


Warum?:我们能问一下用户为什么想要这个吗?整个 MSI 范式有点适合支持单个安装实例 - 对于这个特定的用例来说它有点崩溃 - 诚然,这是人们有时确实想做的事情 - 尽管它可能不是正确的调用:-)。

简单建议:我会检查这些要求,看看是否可以使用更简单的方法。如果你想要多个实例,你可以尝试:

  • 虚拟化:例如AppV(虚拟包)、虚拟映像或MSIX(非常新,目前仅适用于 Windows 10)。
  • 转换:更高级的选项是实例转换。一个我不喜欢的概念。在下面链接的旧答案中进行了描述。
  • 并排安装:并排安装涉及为您的应用程序的不同“风格”创建不同的 MSI 文件。设置后,这将是有效且简单的。
  • 其他:还有其他选项。请看下面的答案:

答案:关于这个主题的旧答案:


MSIX:也许可以考虑使用a quick read about MSIX - 一种专为 Windows 10 应用程序设计的新通用包格式。 "Containers".

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多