【发布时间】:2021-04-10 18:09:17
【问题描述】:
我正在筛选现有问题,但我看到没有一个问题能在这个基本层面上明确回答这个问题。我在记事本中构建我的 WXS 文件,而不是从 IDE。
我的情况是:我有多个应用程序使用一些相同的程序集。这些程序集与 exe 一起安装到单独的应用程序文件夹中,因此它们不会相互共享。它们可能是不同的版本。文件夹看起来像:
App1:main1.exe、1.dll、2.dll
App2:main2.exe、1.dll
App3:main3.exe、1.dll、2.dll
我正在模板化我的 WXS 文件,但在我走得太远之前,我想弄清楚我是否可以跨应用程序复制/粘贴组件元素。
App1.wxs:
<Component Id='AudioLibrary' Guid='1111-1111111-1111111-11111' Win64='yes'>
<File Id='AudioDLL' Source='1.dll' KeyPath='yes' />
App2.wxs
<Component Id='AudioLibrary' Guid='1111-1111111-1111111-11111' Win64='yes'>
<File Id='AudioDLL' Source='1.dll' KeyPath='yes' />
这两个条目是否会在跨不同应用程序的升级/卸载操作中相互干扰?
通常,数据库结构允许这种类型的复制,因为父级将是唯一的产品 guid。但是我看到很多抱怨说 MSI 一定是在 70 年代写的,当时每个人都喝高了。因此,在我浪费时间构建所有东西之前,先检查一下我是否正在为失败做好准备。
编辑:我还想将其应用于 SQL 脚本组件;我可以将 sn-p 复制/粘贴到任何 wxs 文件中而不必为其生成新的 GUID 吗?
【问题讨论】:
标签: wix windows-installer