问题标签 [merge-module]

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.

0 投票
0 回答
471 浏览

sql - 应该删除索引,但阻止添加新的主键

我有一个奇怪的情况,我不明白。我在合并模块中运行一个 SQL 块来更新一个 oracle 模式。我正在尝试更改几个表的主键,因此我正在执行以下步骤:

删除 FK 约束、删除 PK、删除 PK 索引(如果删除 PK 后索引仍然存在)、添加新 PK、添加 FK

这是我的问题。一切都很好,直到我们到达删除索引的部分。主索引被删除,并且(据我所知)Oracle 基于该键创建的任何索引也将立即删除。我遇到了索引持续存在的问题,所以我添加了 DROP INDEX 脚本以确保它被删除,但是,这就是发生的情况:


命令运行成功



ORA-01418: 指定的索引不存在(这正是我所期望的)



ORA-00955: 名称已被现有对象使用(在每种情况下,该对象都是旧索引)


这当然会阻止任何 FK 链接,因为它们现在基于新密钥。当我在 TOAD 中运行它时,SQL 可以工作,但我无法弄清楚为什么它不能通过合并模块。任何人都可以帮忙吗?

0 投票
1 回答
541 浏览

wix - Wix 如何处理需要管理员权限的合并模块?

我目前正在计划一个安装和更新方案,使用使用 Wix 创建的 MSI。初始安装将包括第三方驱动程序作为合并模块,这将需要提升的权限。

我们希望尽可能地自动化软件更新,因此会定期提供更新的 MSI 软件包。这些将在后台下载并在用户下次打开应用程序时安装。我们将实施流程以确保对驱动程序模块的更改不会包含在自动更新中。

如果没有更改,Windows Installer 会执行这些合并模块吗?这将对整个安装程序产生什么影响?为这些驱动程序创建一个单独的 MSI 以将它们与核心应用程序包完全隔离会更好吗?

0 投票
3 回答
4672 浏览

wix - MSI 引用计数:两个产品安装相同的 MSI

当产品 A 和 B 分别安装多个 MSI 并且某些 MSI 相同时,卸载 A 或 B 会影响另一个吗?安装位置重要吗?

另外,如果产品 B 中常见的 MSI C 的版本较高,安装时 B 升级 C,会发生什么情况?现在卸载 B 将删除破坏产品 A 的常见 MSI C。如何在不使用永久标志的情况下优雅地处理这个问题?

0 投票
1 回答
1141 浏览

installshield - 如何从注册表项设置合并模块的安装路径?

我创建了一个安装程序(使用 InstallShield 2012 Spring),它使用我创建的合并模块,并且我想将主安装程序和合并模块中的文件安装到存储在注册表中的路径。在单独的安装程序中,用户可以指定安装位置,我将此路径保存在注册表中以供后续安装程序使用。

在合并模块中,我的组件的目标是“INSTALLDIR\Folder”。在主安装程序中,我已将 Redistributables 窗格中的 Destination 属性从“(用户合并模块的默认目标)”更改为“INSTALLDIR”。这允许我在构建安装程序时将合并模块的文件安装到主安装程序中的相同路径,但是如果我在运行时更改目标(通过自定义操作或 DestinationFolder 对话框),则仅安装主安装程序的文件到所需的路径。

我正在使用系统搜索从注册表中检索路径并将其存储在属性中。然后我有一个自定义操作,将 INSTALLDIR 设置为从注册表中读取的路径。

如果我转到合并模块的直接编辑器并编辑目录表,我可以将 INSTALLDIR.GUID 更改为 INSTALLDIR 并得到我想要的结果,但这会导致“组件”和“文件和文件夹”窗格无法使用。

有一个更好的方法吗?

我看到了这些答案,他们让我开始了,但我似乎无法让合并模块的目的地在运行时改变。

Installshield 12:在运行时更改合并模块的目标

为用户配置 installshield 合并模块安装路径

0 投票
1 回答
1700 浏览

wix - 从合并模块引用热生成的 wxs 文件

我想创建一个简单的合并模块,其中包含一个名为“build”的目录的所有文件,并将它们安装到程序文件文件夹中。我将使用 heat 生成包含所有这些文件的 wxs 文件,并且我希望将其与我为合并模块手动编辑的 wxs 文件分开。如何从我的其他合并模块 wxs 文件中引用生成的热量文件?

我像这样生成我的 heat wxs 文件:

我知道如何创建一个 msi 文件:

但是,当我想输出合并模块时,如何引用 ComponentGroup 呢?如果我将 Product 元素更改为 Module 元素,它会抱怨 Feature 元素。如果我删除它,它可以工作,但我的 msm 中没有任何文件。

0 投票
1 回答
2098 浏览

wix - 如何在 wix 中编写和使用可重定向的合并模块

我想编写和使用一个最小的可重定向合并模块。它应该包含3个文件

我有以下合并模块:

我这样使用它:

并像这样缝合在一起:

这不能按预期工作。中的文件夹Product.wxs被忽略,文件直接位于C:\. 我读过我需要使用可重定向的合并模块。然后,合并模块应该使用配置设置来决定将文件放在哪里。此配置应在使用合并模块的产品中设置。我还没有找到如何做到这一点的例子。谁能指出我正确的方向?

0 投票
1 回答
50 浏览

windows-installer - 我如何知道我的安装程序中的哪些文件被合并模块替换了?

我有一个使用 Flexera Repackager 重新打包的非 msi 安装程序。

它在我的 msi 包中放置了一个不必要的合并模块(它在包中放置了很多我不需要的文件,并且应用程序不使用这个 mm....)。所以我从包中取出了 mm,但我很好奇包中的哪个文件导致了 mm 的导入。(我没有发现原始应用程序和 msi 安装的应用程序之间有任何区别。)

那么我怎样才能找出它是哪个文件呢?

0 投票
1 回答
410 浏览

wix - 在 WiX 中删除新版本后如何保留以前版本的文件关联?

我有版本 1.0.0 和 V2.0.0 的产品 A,每个版本都使用 WiX 文件关联与文件类型 xyz(到可执行 product.exe)相关联。安装产品 A V1.0.0 时,会关联文件扩展名 xyz。接下来,我安装 Product A V2.0.0,现在文件 xyz 与 Product A V2.0.0 相关联。如果首先安装 2.0.0 和更高版本的 V1.0.0,文件关联将按预期覆盖,反之亦然。

如果我卸载 V2.0.0,则删除 2.0.0 的文件关联,并且不会恢复 V1.0.0 的关联,反之亦然。

如何使用 WiX 自动恢复以前版本的文件关联?请在下面查看我的 WiX 代码并提出任何可能的更正建议。

产品 A V1.0.0 WiX 3.8 代码:

产品 A V2.0.0 WiX 3.8 代码:

唯一的区别在于 ProgId 的 Id wrt 文件关联。

0 投票
4 回答
1377 浏览

wix - 将模块文件合并到不同的位置

我想将合并模块文件解析到两个不同的位置。可能吗?

我希望将第二个文件复制到与其他文件不同的文件夹中。

0 投票
2 回答
109 浏览

windows-installer - 将 VC 运行时合并到 MSI

我正在为应用程序构建安装程序包,并希望将 VC 运行时的MSM合并其中。

使用Orca,这可以正常工作并且没有冲突。

使用msimerg,我得到一个错误代码1629 (ERROR_DATATYPE_MISMATCH),但没有更多信息,也没有_MergeErrors生成表。

有没有办法可以找出错误具体发生在哪里?