我一直在VisualStudio2010中使用InstallShield LE,但它非常有限,有时甚至会出错。我看了付费InstallShield版本,但这些版本对价格标签也有太多的限制。
所以我决定转到WiX。几年前我就有过一些经验。使用SharpDevelop和WiX工具构建一个简单的安装程序非常容易。
现在,我正在尝试收集WiX的解决方案和工具。基本上,我需要获得以下功能(由我的客户请求):
我读到,管理升级可能有点痛苦,即使我保持了我的UpgradeCode,因为这段代码以压缩的方式存储在Windows中,而且如果用户重命名下载的文件,WindowsInstaller可能会检测到它是一个全新的产品.或者,也许只有WindowsInstaller .msi文件是这样的,而WiX有一些技巧来避免这个问题?
关于更新下载-我需要这个功能也在我的应用程序本身。我不知道如何有效地实现它,所以我可以在WiX安装程序和我的应用程序中重用相同的更新下载程序代码/实用程序。
是否可以使用现有的WiX工具满足所有这些需求,或者我可能需要从头开始编写一些组件?
发布于 2012-03-10 19:19:06
在我看来,WiX绝对是走的路。
在我看来,这类功能最好由应用程序来处理。但是,您可以在自定义引导程序中实现这种功能。WiX的最新开发包括一个引导程序引擎烫伤,它允许您在其之上编写自己的自定义引导程序。
您可以使用标准的WiX 自举器将.NET安装为prereq。或者,如果您创建了自己的自定义托管引导程序应用程序,则可以在引导程序.NET 如本例所示上安装prereq。
使用上述两种引导方法,在启动msi时,可以指定日志记录的参数。在我自己的自定义托管引导程序中,我创建了一个按钮来打开在安装过程中创建的日志文件。
您可以使用发射条件来完成这个任务。
根据我的经验,这个重大升级是最简单的方法。
我认为WiX/Windows安装程序通常擅长处理这些场景,并自动通知用户文件/应用程序需要关闭,而不必在安装程序中添加任何额外内容。
尽管如此,您可能需要考虑使用WiX和Burn创建您自己的自定义托管引导程序。然而,这并不是微不足道的。最好的方法是将源代码下载到WiX 每周发行并签出项目src\Setup\WixBA。这是他们为安装WiX而编写的自定义BA。目前还没有太多的文档,因为WiX 3.6还没有发布(尽管它相当稳定)。但是,您不必创建自己的BA来制作一个能够处理升级和日志记录的坚实的WiX安装程序。
https://stackoverflow.com/questions/9647682
复制相似问题