问题标签 [msp]
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 - 使用 InstallShield 或 WiX 修补多个实例安装
我有一个在 InstallShield 12 中构建的项目。它是一个需要多次安装的 Web 应用程序,并且这些安装需要打补丁。
我可以在 WiX 和 InstallShield 中创建转换和补丁。
当我尝试从 InstallShield 修补转换后的安装时,我收到错误消息:
在 InstallShield 中,我尝试通过 Patch Design 选项卡将转换中的新产品代码添加到“目标产品代码列表”。这样做会导致补丁创建出错:
在 WiX (3.5) 中,我使用 dark.exe 将我的项目从 InstallShield 转换为 WiX。我已经取得了足够的进展,可以为转换安装补丁,但我收到了警告:
这是一个问题,因为我试图在补丁中运行 SQL 脚本,但是补丁并没有将我的 sql 文件插入到 cab 中。
我还通过 WiX 尝试了 .pcp 方法(WiX 3.0 之前的版本),并且只达到了我在 InstallShield 中所达到的程度。
到目前为止,我一直主要参考此页面来获取答案:http: //ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html
TL;DR:如何使用(最好)InstallShield 或在 WiX 中为多个实例安装生成补丁?
wix - WiX: Patch installer superseding previous versions (1.0.0 -> 1.0.1, 1.0.0 -> 1.0.2, 1.0.1 -> 1.0.2, aso.)
I am trying to provide a simple installer package (MSI) which I want to support with updates (patches) that supersede all previous patches. So I have a MSI V1.0.0 and 2 patches V1.0.1 and V1.0.2. The user should be able to just install the latest patch regardless which previous patches were already applied to the system. My project contains 2 features (Client and Server). The basis of the patch so is always the RTM package (HelloWorld 1.0.msi / HelloWorld 1.0.wixpdb).
The generation (build) of all patches work, so the update procedures 1.0.0 -> 1.0.1 and 1.0.0 -> 1.0.2 do, BUT when i try to update from 1.0.1 to 1.0.2 the patch fails with the following error message: "The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.". Even worse, when I run the 1.0.1 patch on a system where 1.0.2 is already installed, the patch overwrites the existing installation with an older version!? I am totally confused...
I also found several blog entries on the web about patching, but nothing that works with my supersede szenario.
wix patching code - "patch1.wxs":
patch 1 build script - "generate_patch1.bat":
wix patching code - "patch2.wxs":
patch 2 build script - "generate_patch2.bat":
windows-installer - Installshield Express 可以创建补丁 (.msp) 吗?
您可以使用 Installshield Express 创建 Windows 安装程序补丁 (.msp) 吗?
wix - TeamCity 构建 MSP 文件
背景:我有一个相当不错的 TeamCity 设置;包含一个 ci 构建和一个发布构建,它使用 WiX 构建我的安装程序并修补所有版本号。当我进行新的发布构建时,我想针对以前的一组安装程序自动创建 MSP 补丁。我想要么在 TeamCity 中标记 RTM,要么作为版本号列表。
我倾向于的方法是创建一个单独的配置并获取符合标准(标签或版本号)的所有先前构建的 msi 工件。标签看起来更整洁,但我在文档中看不到有关您如何使用它的任何内容?
我有一个脚本来构建 MSP 补丁,但它依赖于一个 PCP 文件,需要在 ORCA 中编辑该文件来描述补丁。
- 在编辑 PCP 方面,除了 ORCA 之外,我还有什么可以用来编辑的吗?我一直在考虑转向 WiX 方法:http ://wix.sourceforge.net/manual-wix3/patch_building.htm看起来很有希望。
- 有谁知道您是否可以在同一版本或另一个版本中按标签访问 TeamCity 中的工件?
- 是否有人对在 TeamCity 中自动构建/链接 MSP 补丁文件有任何其他见解?
wix - WiX - 创建用于修补的 MSI 和 MSP
我创建了一个配置工具,它使用 WiX 创建 MSI,并参考以前的 MSI 可以构建 MSP。
甚至客户也将使用此配置工具来创建他们的 MSI 和 MSP。
我会将安装程序交付给客户(MSI 或 MSP)在这里我想确保当客户使用它时,所有 GUID 产品代码、升级代码、组件 ID 都需要相同......
一种维护方法是将所有 GUID 存储在 XML 文件中,并将其作为二进制文件存储在安装程序中,当客户创建他们的 MSI 或 MSP 时,他们会引用我提供的 MSI 或 MSP 中的二进制文件。
我想让你看看有没有其他方法可以做到这一点?
wix - Wix:补丁无法更新已安装的产品并显示更改/修复对话框
根据本教程,我正在使用 PCP 构建补丁:
http ://wix.sourceforge.net/manual-wix3/patch_building.htm
我有两个 MSI(提取为管理员安装)
- 8.11.9.225(这是我要更新的目标)
- 8.11.9.353(最新的)。
上面的过程没有任何问题,并生成了我的 .msp 文件,但文件很大(500+ MB),所以我认为差异太大了。
但是,每当我尝试安装此补丁时,它都会显示更改/修复对话框,如果我使用更改或修复,在这两种情况下都会出现错误
“已安装另一个版本。您必须先卸载它才能安装此版本。”
我什至更改了第二个 msi 中的产品代码(在所有表中),但它不能解决任何问题。
这是我的补丁代码:
由于它正在生成一个大尺寸的 .msp,我应该将 msp 用于这种尺寸还是进行重大升级?
任何帮助将不胜感激
最好的祝福
installation - 如何查找和卸载机器中安装的补丁 [msp]?
我使用 installsheild 创建了补丁 [msp]。
那时我不知道那个选项
“允许卸载补丁”
现在必须卸载该补丁。
我有那个 msp 文件。[我使用 orca 打开 msp 并检查产品 GUID,但它不存在]
哪些信息可用于查找和卸载已安装在机器中的 msp?
wix - 是否可以在补丁中添加新文件夹和文件?
我们需要将新文件夹和文件添加到现有版本中。
我们知道可以通过补丁 [msp] 添加新文件。
[出于与流程相关的原因,他们不想进行小升级]
但是是否也可以通过 msp 添加新文件夹?
windows - MSP 文件仅提取属于新组件的文件
我使用旧的(目标映像)msi 和新的(升级映像)创建了一个带有高级安装程序的补丁。检查 MSP 文件我发现它包含修改过的和全新的文件。问题是在安装过程中它只安装“添加”的文件。现有文件将被忽略。我已经尝试过 MSIEXEC 开关,例如:
- 重新安装=全部
- REINSTALLMODE=sumo / aums / omus 等...
- 升级=“是”
- IS_MINOR_UPGRADE = "1"
..以不同的顺序和组合(即“REINSTALLMODE=aums REINSTALL=ALL”),所以不要仅仅通过告诉我尝试 REINSTALLMODE=omus 或类似的东西来回复或评论。
wix - 要包含在补丁 msp 文件中的自定义表
我们有一个 CustomTable 在创建时添加到我们的 msi 中。此自定义表包含一些二进制数据(xml 文件),当 msi 上传到我们的部署服务器时,我们的部署软件会读取这些数据。
我们现在有支持部署 msp 文件的需求。这意味着如果用户将 msp 文件上传到我们的部署服务器,我们的软件应该仍然能够读取 CustomTable 中的二进制数据。但是我一直无法找到一种方法来确保我们创建的 msp 文件包含相同的 CustomTable。
我知道 msp 包含更新的 xml,因为我使用 ORCA 查看更新的表和文件。不幸的是,我似乎无法以编程方式从我们的 CustomTable 读取数据,因为它(显然)不存在于补丁中。有谁知道从 msp 文件访问 CustomTable 的方法?
谢谢 - 如果需要澄清,请告诉我!