2009-03-04 48 views
0

我正在尝试为我创建的网站编写安装程序。在WiX教程中,它说:“同样,一个组件应该只包含那些属于一起的项目,以至于它们总是需要一起安装或删除。”我相信整个网站都符合这个描述。我有两个关于组件的问题。首先,很明显,我的网站有很多目录,我无法弄清楚如何将所有目录/文件转换为1个组件(这甚至可能?),如果我从程序生成组件,我的GUID几乎肯定必须在每个版本上有所不同,在每个版本中强制进行主版本更改?有什么我失踪?在构建和组件问题中生成WiX XML文件

回答

0

我必须承认,在我看来,我对WIX的经验非常有限。但是,我的印象是一个组件映射到一个单一的可安装的东西,如文件或DLL。这些被安排到组件组中,然后被添加到功能中。这些功能是以单元形式安装的,例如:核心,文档和示例。在这种情况下,您总是需要Core组件,但是Documentation和Examples功能可以省略。

我不认为更改组件的GUID会强制您更改主版本号。

因为学习曲线可能非常陡峭,所以我很难与WIX一起工作。我希望这有帮助。

+0

据我所知,简单地添加或删除文件被认为是“主要升级”。几乎每个发布的Web应用程序都会添加和删除文件,但这对我来说不是主要升级。 – Greg 2009-03-04 18:36:57

2

组件的文件不能跨越目录。 Windows安装程序的限制。获得稳定组件ID是一个棘手的问题,但是WiX v3中有一些新的技巧可以为您处理。 Component/@ Guid =“*”是个诀窍。新的(像上周)heat.exe会为你生成看起来满足你需求的碎片。

0

已经通过这个,这是我的建议是:

  1. 每个文件都应该有它自己的组件。
  2. 如果按照步骤1中的罗布说,每个组件都可以有属性GUID="*"
  3. ComponentGroup是你的朋友:)
  4. 如果您设置产品代码为*和离开的UpgradeCode作为一个固定的GUID,你不必为每次升级编写新的升级安装程序,因为您的MSI既是新安装安装程序,也是升级安装程序。为了帮助控制这个you need to understand升级和UpgradeVersion元素。

更多tricks here