WiX - 不创建卸载数据



是否可以创建只导出数据而不创建卸载数据的msi安装程序?

例如:

  1. MSI已经嵌入了10个文件
  2. 用户安装MSI,将10个文件复制到用户光盘
  3. MSI不会在用户计算机上创建卸载数据(添加/删除程序快捷方式等)

您可以阻止卸载条目显示在"添加/删除程序"列表中。

但这与Windows安装程序管理已安装软件包的方式没有太大关系。Windows安装程序包不是一个很好的机制来提供自解压、自执行的存档。有几种专门为此而设计的产品(例如,WinZip、WinRAR、旧的Web软件包)或各种非侵入性(非托管)安装程序(例如,NSIS、Visual Studio引导程序安装程序)可以让您更好地控制系统的状态。

要点:成功安装后,Windows安装程序将在系统上存储有关安装的大量数据,并对其进行管理,直到卸载为止。

是。必须设置ARPNOREMOVE属性。

MSDN文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa367591%28v=vs.85%29.aspx

本教程中还介绍了:http://wix.tramontana.co.hu/tutorial/com-expression-syntax-miscellanea/add-or-remove-programs-entries

Windows将创建卸载ARP/注册表信息,并记住MSI在运行PublishProduct标准操作时安装。如果MSI没有运行PublishProduct操作(条件设置为0),则MSI可以安装文件/注册表项/服务等,并且永远不会在计算机上注册为"已安装"的产品。它基本上变成了一个美化的zip文件。

将文件转储到文件系统的另一种方法是运行MSI的管理安装:msiexec/a foo.MSI。这就像在不注册产品或运行任何自定义操作的情况下安装MSI一样。

最新更新