问题标签 [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 投票
1 回答
135 浏览

merge-module - VC 合并模块未更新

不久前我发布了一个问题:

https://stackoverflow.com/questions/16123872/visual-c-runtime-8-0-50727-6910-merge-module

我有一个问题,我可以找到合并模块的特定版本。

我已经尝试重新安装 Visual Studio 2005 和 2008 的 SP1,并且两个运行时(8 和 9)的合并模块在 (C:\Program Files (x86)\Common Files\Merge Modules) 中没有正确更新。唯一的 VC 合并模块是原来的 8 和 9 模块。

我正在运行 Windows 8 Enterprise x64。有谁知道 VC8/9 合并模块没有通过 Windows 8 上的 Visual Studio 更新过程正确更新的任何问题?

0 投票
2 回答
18100 浏览

wix - 如何在 WiX 中执行仅在安装或卸载时执行的自定义操作?

我有两个自定义操作,其中一个我想在安装我的产品时执行,另一个在卸载它时执行。

我的自定义操作当前是在“InstallFinalize”之后从合并模块调用的,但是安装和卸载都会发生这种情况。我尝试添加“未安装且未升级产品代码”条件,但这给了我一个错误:

错误 2762。无法写入脚本记录。交易未开始。

我也尝试过附加到其他操作(例如,UnpublishComponents),但我找不到任何唯一可以安装或卸载的操作。

我该如何解决这个问题?

0 投票
1 回答
2550 浏览

.net - 无法在延迟的自定义操作中获取安装位置属性

我在阅读链接后编写了这段代码:http: //blogs.technet.com/b/alexshev/archive/2008/03/25/property-does-not-exist-or-empty-when-accessed-from-延迟自定义action.aspx

代替InstallDir - PRIMARYFOLDER,我尝试了 - INSTALLLOCATION、InstallDir、TargetDir,但我无法获取为 ProgramFiles(x86) 下的应用程序指定的安装文件夹。

的值SourceDir作为 MSI 文件运行时所在位置的正确值出现。

0 投票
1 回答
822 浏览

windows-installer - Installshield MSI - 卸载补丁中的合并模块

InstallShield 和 BasicMSI 的新功能。

我们有一个包含合并模块(许可软件)的基本安装 我们现在发布一个补丁来更新我们的一些软件,包括一个新版本的许可软件,它不再通过合并模块提供,但现在是一个先决条件。

我可以获得正确安装的新先决条件,但是我不知道如何卸载通过合并模块安装的先前版本。新版本的许可软件安装到新的文件位置,因此它不会“覆盖”旧版本。

任何建议/想法将不胜感激。

干杯

0 投票
1 回答
5306 浏览

windows-installer - 如何使用安装屏蔽应用程序将合并模块 (.msm) 添加到安装脚本?

我正在使用 Install Shield,我知道我们可以使用Redistributables菜单项添加合并模块,如果它是Basic MSI Project.

但如果是,我看不到Redistributables菜单项InstallScript Project

有人可以帮我弄清楚如何使用 Install Shield 将合并模块添加到 InstallScript 项目中吗?

0 投票
1 回答
687 浏览

visual-studio-2012 - Windows XP下VC 2012合并模块

我们有一个适用于本机 Windows 的 VC++ 2012 应用程序(经典胖应用程序)我们还有一个基于 NSIS 的安装程序。

我想将 VC110_CRT 合并模块添加到安装程序,但合并模块无法安装在 Windows XP 上。错误消息是。

Windows Installer 服务无法安装此安装包。您必须安装包含较新版本的 Windows Installer 服务的 Windows 服务包。

是的,它是完全更新的 Windows XP(SP 3 + 所有更新)。据我了解,我们至少需要 Windows Vista 来安装更新。

我的问题:

  • 有没有办法转换 Microsoft_VC110_CRT_x86.msm 模块,所以它可以在 Windows xp 下使用

我知道我可以使用 vs_2012_redist,但它有 ~6,5 MB,而不是合并模块大小的 ~0,8。我只需要 CRT,因为该应用程序使用 QT 而没有 MFC/ATL/....

0 投票
1 回答
2797 浏览

c# - WiX 为我的 C# 应用程序创建一个简单的安装程序和合并模块

我是软件开发的新手(虽然不是编程)。我正在交付我的第一个商业版本应用程序,我需要一个单击安装程序包。我研究了许多解决方案——我用 C# 编写了自己的代码(它基本上只是将我的三个文件夹抓取到各自的目的地),但是在捆绑一些 IO 库时遇到了一些问题。由于我使用的是 Visual Studio Express 2012,因此无法使用 InstallShield 模块。我找到了 WiX,虽然它有一些在线教程,但这项服务的学习曲线非常高——可以肯定地说我很困惑。

我有三个文件夹:

  1. myApplication2013 文件夹
  2. myApplication2014 文件夹
  3. System.Data.SQLite.dll

我的 C# 代码的逻辑如下:

目标位置将由 .msi 指定,至于目标位置:

  1. myApplication-2013 是:C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2013
  2. myApplication-2014 是:C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2014
  3. System.Data.SQLite.dll 是:C:\\Windows\\Microsoft.NET\\assembly\\GAC_64

安装程序真正做的是获取源文件夹/文件(来自上面的 3 个)并将它们复制到目标位置。这也是我的 C# 脚本所做的(尽管它使用 IO 库)。WiX 需要哪些步骤?我感到很困惑。

我还需要创建一个合并模块。

谢谢你。

0 投票
2 回答
6885 浏览

c# - Visual Studio 2013 中的 MSM 合并模块

有人可以告诉我在哪里可以找到创建 MSM 文件的资源吗?虽然我能够使用 InstallShield 创建 MSI 文件,但从下面的链接和我的 Visual Studio 2013 版本的屏幕截图来看,Visual Studio 似乎不再支持合并模块项目 - http://msdn.microsoft.com/en -us/library/z6z02ts5(v=vs.80).aspx

在此处输入图像描述

创建一个新的合并模块项目:

  1. 在文件菜单上,指向添加,然后单击新建项目。
  2. 在生成的添加新项目对话框中,在项目类型窗格中,打开其他项目类型节点并选择设置和部署项目。
  3. 在模板窗格中,选择合并模块项目。
0 投票
1 回答
306 浏览

com - WIX - 在卸载期间取消注册 COM 组件

我有几个在安装过程中注册的 COM 组件。这些 COM 组件是我的 WIX 项目中包含的合并模块的一部分。我使用以下代码进行注册

组件已成功注册。但是,在卸载过程中,这些 COM 组件并未取消注册。在卸载前,当 SharedDLL Count 为 1 时,如何确保这些组件未注册?

0 投票
0 回答
105 浏览

wix - 在合并模块中使用主设置中的目录

我需要将合并模块的内容安装到主设置中设置的特殊(子)文件夹中。目前,我们所有的设置都包含一个具有特殊名称的目录(例如“PROGDIR”),并且我们使用 InstallShield 的直接编辑器,因此为合并模块中的目录提供相同的名称。在合并过程中,合并模块中的目录被覆盖/丢弃(称之为魔法,称之为黑客,它很丑......)。

此解决方案非常脆弱,因为每当您在 InstallShield 中触摸合并模块并摆弄组件或使用“文件和文件夹”选项卡时,IS 会将合并模块 guid 附加到目录标识符并且它都停止工作(PROGDIR -> PROGDIR. 1234ABC...)

我现在想将我们的合并模块逐步移动到 WiX。主要设置还不能遵循,也不需要更改。

我可以阻止 WiX 自动将 guid 添加到目录标识符以使用与以前相同的 hack 吗?或者是否有更好、更清洁的解决方案而无需更改主要设置?

我已经研究了 Substitution 元素,但无法理解它是如何工作的。如果这能以某种方式有所帮助,我会很感激一个例子......