问题标签 [msi-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wix - Wix 工具集 - 无法使用比原始 msi 包更少的文件/组件创建/安装补丁
我在字段上的位置很少,初始 .msi 相同,有大约 2000 个文件(多种文件类型)。但是,我必须根据需要将补丁发送到少数几个位置,因此补丁应该包含更少的文件(有时只有 1 个文件作为修复)。我无法创建仅包含一个文件或几个要添加/更新但还必须包含所有原始文件集的文件的补丁 (.msp)。这可以通过任何方式实现吗?请帮忙 !!
此外,我不想进行重大升级,因为一些原始文件是日志和数据库文件,需要保持完整且无法删除。
当我用简单的文本文件尝试这个场景时,我的 .msi 有 3 个文本文件,而 .msp 只有 1 个我要更新的文本文件,一切都成功了,我可以看到更改。但是当我尝试使用我的实际文件夹时,我收到了这个错误:-
MSI (s) (A0:70) [16:17:59:147]: SELMGR: ComponentId '{B826B564-A3C4-45AB-9623-FB0089831140}' 已注册为功能 'ProductFeature',但不存在于组件中桌子。不支持从功能中删除组件!MSI (s) (A0:70) [16:17:59:147]:SELMGR:不支持从功能中删除组件
它所指的组件是一个dll。当涉及到 dll 时,我是否遗漏了什么?
wix - 安装 MSP 补丁后重命名的文件夹未安装
我们更新了新 MSI 中的一些文件夹,Angular.min
其中Angular.min.1_5_19
包含一个文件Anguar.min.js
。
创建了一个MSP
补丁包以将其交付给客户。ORCA
我们可以观察到应用MSP
over old时目录名的变化MSI
,也观察到更新的登录msimsp.log
文件。
但是MSP
在我的机器上安装后,我们能够在旧文件夹本身中观察到新的 js 文件。新文件夹既不是空的,也不是用新名称替换旧文件夹。
wix - 补丁包需要安装两次才能覆盖文件?
我用WIX做了一个补丁包,配置如下:
我第一次安装后,版本信息更新了,但文件没有。
然后我卸载了补丁并重新安装了补丁包,它工作。
通过比较两个安装记录,我捕捉到了以下不同的地方。
这是第一次安装的日志
这是第二次安装的日志
这是为什么?
wix - 使用从 RegistrySearch 设置的自定义操作属性为补丁 (.msp) 设置 INSTALLDIR
我为我的 msi 创建了一个补丁,当 msi 安装在默认位置时,它可以很好地修补。
当 msi 安装在默认位置以外的位置时,文件会被很好地修补。但是,INSTALLDIR 值在注册表中更改为默认值。
我在这里读到,我们必须设置至少一个组件来引用 INSTALLDIR。
有没有人遇到过这种情况?
如果知道是否有办法在补丁安装期间不更改注册表值,那就太好了。
windows-installer - 在另一个 msp 上安装 msp 不起作用
我有 3 个文件:
5.2.0000to5.2.0001.msp - 从版本 5.2.0000 升级到版本 5.2.0001 5.2.0000to5.2.0002.msp - 从版本 5.2.0000 升级到版本 5.2.0002 5.2.0001to5.2.0002.msp - 从版本 5.2 升级.0001 到版本 5.2.0002
如果我安装“5.2.0000to5.2.0001.msp”或“5.2.0000to5.2.0002.msp”,它可以工作。
但是如果我在“5.2.0000to5.2.0001.msp”之后安装“5.2.0001to5.2.0002.msp”,我的程序在控制面板中的版本不会改变,5.2.0002版本的改变也不会应用。
有人帮我吗?
windows-installer - 如何获得msp版本?
我需要获取 msp 文件的版本。对于 msi 文件,我使用下一个代码:
但对于 msp 它不起作用。有任何想法吗?