我有一个桌面应用程序,该应用程序具有HTML界面,其中包含约7500个文件(约40MB) 现在,我需要将应用程序文件复制到安装目录中。
哪种方法更好?
我在使用1.方法时遇到问题-在旧计算机(win xp)上进行安装/卸载需要花费大量时间(超过15分钟)。为什么会发生?因为刻录必须注册所有文件?
答案 0 :(得分:1)
出于多种原因,非常不希望自定义操作和解压缩 :可靠性,清理/卸载,复杂性,访问权限等...请不要这么说路线。
我不特别喜欢用于IIS部署的MSI(由于所有非版本文件),但是也没有什么比这更好的了。但是您的应用程序似乎是桌面应用程序,因此您不安装到IIS吗?
MSI / Windows Installer :MSI provides a few major corporate benefits (short version)(full length),但有许多怪癖,其中之一是慢安装速度-特别是在较旧的系统和慢速磁盘上。 speed up MSI installations有一些技巧。我个人通常将MSIFASTINSTALL
设置为3
或7
(请参见链接)。链接中还有其他调整-不确定它们是否对您有意义。
要求 :您的分布范围是多少? Global
,internal
,small scale
, large 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进行测试安装。