在安装过程中复制应用程序文件[WIX]

时间:2018-06-20 13:04:28

标签: .net wix windows-installer install

我有一个桌面应用程序,该应用程序具有HTML界面,其中包含约7500个文件(约40MB) 现在,我需要将应用程序文件复制到安装目录中。

哪种方法更好?

  1. 使用burn命令注册所有文件并将其复制到安装目录
  2. 使用自定义操作将所有文件解压缩到目标目录中
  3. 还有其他想法吗?

我在使用1.方法时遇到问题-在旧计算机(win xp)上进行安装/卸载需要花费大量时间(超过15分钟)。为什么会发生?因为刻录必须注册所有文件?

1 个答案:

答案 0 :(得分:1)

出于多种原因,非常不希望自定义操作和解压缩 :可靠性,清理/卸载,复杂性,访问权限等...请不要这么说路线。

我不特别喜欢用于IIS部署的MSI(由于所有非版本文件),但是也没有什么比这更好的了。但是您的应用程序似乎是桌面应用程序,因此您不安装到IIS吗?


MSI / Windows Installer MSI provides a few major corporate benefits (short version)full length),但有许多怪癖,其中之一是慢安装速度-特别是在较旧的系统和慢速磁盘上。 speed up MSI installations有一些技巧。我个人通常将MSIFASTINSTALL设置为37(请参见链接)。链接中还有其他调整-不确定它们是否对您有意义。

要求 您的分布范围是多少? Globalinternalsmall scalelarge scale,等等...您不必使用MSI,尤其是对于小规模分发并且用户将以交互方式安装时。 MSI对于可靠的远程管理和静默,非交互式部署是至高无上的。有许多部署工具:How to create windows installer(MSI和旧版工具)。

部署工具 :如果发现更好,可以使用一种传统的安装程序技术来满足简单的要求。甚至 APP-V 用于应用程序虚拟化-如果您的环境中可用。一切取决于。我回答的一位用户对所有内容均 WinRAR Executable files to MSI installer。不是我推荐的东西。

WiX是一个不错的选择-好像您已经在使用它一样。我将使用heat.exe创建您的包。我想使用每个组件使用一个文件,这会使安装速度变慢。如果您标准化了主要升级,则可以在每个目录中使用一个组件,以避免减慢安装速度。

无论您做什么,MSI / Windows Installer都会比其他部署技术拥有更多开销-因为它更先进。

最后一个问题 :您是要安装在这些旧盒子上的旧文件之上吗? MSI的回滚功能意味着在安装过程中,磁盘上的所有现有文件都将备份在回滚文件夹中。这会使安装非常缓慢。也许尝试安装到空白文件夹(您可能已经这样做了)。尽管做起来不太好,但是如果您确实在现有文件之上安装,则可以尝试将DISABLEROLLBACK属性设置为1进行测试安装。