问题标签 [msitransform]

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 投票
5 回答
18161 浏览

windows-installer - 替换 MSI 中的小文件的最简单解决方案?

我们的许多客户都可以使用 InstallShield、WISE 或 AdminStudio。这些都不是问题。我希望有某种方法可以为我们的小型客户提供无需使用商业重新打包工具的免费工具集和步骤来自己进行文件替换。

只需要替换压缩 MSI 中的单个配置文件,可以假设目标用户已经安装了 Orca,知道如何使用它来自定义属性表(为 GPO 部署嵌入许可证详细信息)并生成了 MST 文件.



免责声明:这与另一个问题非常相似,但该线程中的问题和答案都不清楚。

0 投票
3 回答
21199 浏览

wix - 如何更好地利用 MSI 文件

您可能知道,msiexec是一个命令行应用程序,可用于安装 MSI 文件。您可能知道,您可以在静默或不可见模式下运行它。

如果安装程序要求用户回答有关要安装哪些部件的特定问题,是否可以通过某种方式在 msiexec 命令行中添加一系列选项来执行此操作?

我认为必须有某种方式来设置 MSI 文件的默认设置才能实现这一点。MSI 文件是如何制作的?它们是通过 Microsoft 的工具开发的吗?它们可以打开和编辑吗?

0 投票
1 回答
1681 浏览

windows-installer - 如何在 ORCA 中使用 MSI 转换更改 MSI 的现有属性

是否有人对如何使用 ORCA 创建 MSI 转换以更改 MSI 的产品代码有经验或想法。我需要允许安装包在同一台机器上多次安装。任何帮助表示赞赏。谢谢

0 投票
0 回答
716 浏览

vbscript - 从 MSI 外部获取广告快捷方式的完整路径

我致力于从 MSI 外部获取组件密钥文件的完整目录路径,以及使用 VBScript 的广告快捷方式。

我读到我们可以使用MsiGetComponentPath&MsiGetShortcutTarget函数。下面是我放在一起的代码,但我没有得到我想要的输出 - 这是基于快捷方式表中组件列的密钥文件的路径。任何帮助表示赞赏。

0 投票
3 回答
1413 浏览

c# - 如何下载带有用户 ID 参数的 MSI 安装程序

我有一个 .NET C# 应用程序,包含在 MSI 安装程序 - “myprogram.exe”中。我有一个 PHP 网站和一个特定页面,用户可以通过链接下载该程序。

我希望能够跟踪 .NET 应用程序上的某些事件。例如 - “程序已打开”。

将事件发送到我的服务器很容易,但是如何从 php 服务器获取用户 ID,以便我可以知道哪个用户在 .NET 应用程序上做了什么?

我考虑将参数(用户 ID)传递给 MSI 安装程序,但找不到解决方法。

如何在 PHP 用户 ID 和 .NET 应用程序之间建立链接?

澄清 -

许多人提出使用登录系统在服务器和应用程序之间进行绑定。

这确实是最简单的解决方案,但是在我的网站上,我不会强制用户登录以下载应用程序(我也不会在 .NET 应用程序中请求登录详细信息 - 它是可选的)。如果我们不必询问登录详细信息,我认为我们不应该,用户的体验会更好(使用该应用程序的步骤要少得多) - 用户下载和使用桌面应用程序的机会更大。

考虑当前流程是 -> 网页 - 下载点击 - 运行 - 使用应用程序(需要 10 秒)

使用登录 -> 网页 - 注册(确认电子邮件?) - 重定向 - 下载 点击 - 运行 - 应用登录 - 使用应用(用户需要 60-120 秒)

0 投票
0 回答
99 浏览

batch-file - MSIEXEC 批处理文件适用于 W7 但不适用于 W8

我在获取批处理文件以在 Windows 8 上正确运行时遇到重大问题。

以下在 Windows 7 中运行良好,但在 Windows 8 中无法运行。如果我删除该/quiet标志,我会启动安装程序,但它会询问我转换文件应该回答的所有安装问题。

我尝试将TRANSFORMS=toTRANSFORM=/t(no =) 更改,但这并没有什么不同。

有谁知道 Windows 8 中 msiexec 的任何更改会阻止该文件正确运行?

谢谢

0 投票
0 回答
251 浏览

wix - 调用 Wix CustomAction

我是 WIX 和安装类的新手。

我正在使用 WIX 从 InstallWizards 获取用户输入,我想添加自定义操作。

我创建了一个自定义操作,并创建了一个设置项目,我不知道如何使用 wix 类或如何调用此自定义操作。

这个链接说关于创建自定义操作,但是我如何在运行时为任何 MSI 使用?

0 投票
2 回答
2854 浏览

windows-installer - 如何预先设置属性中未定义的 MSI SecureCustomProperties 以允许静默安装?

特定供应商的 MSI 通常通过 EXE 包装器安装,但我正在尝试通过 GPO 使用静默安装进行部署。我正在努力预设 SecureCustomProperties。

供应商记录了可以传递给 EXE 包装器的 UPPERCASE 命令行选项,我假设它会将它们传递给 MSI。使用 Orca,我可以看到 MSI 的属性表包含 SecureCustomProperties。该键的值是一个以分号分隔的大写所有记录参数的列表。

但是,每个单独的参数在属性中没有对应的键。我怎样才能预先设置这些?

根据如何更好地利用 MSI 文件

您可以找到 MSI 文件的属性表中列出的大多数属性,但也有可能设置了一些属性表中未定义的属性。在大多数情况下,这与仅从设置 GUI 设置的属性有关(在大多数情况下表示设置设计错误)。所有属性都应在正确编写的包的属性表中定义。

我可以将每个参数添加为属性中的键并添加我的自定义值吗?如果是这样,我应该将参数保留在 SecureCustomProperties 中吗?

例子:

DBHEADER不是属性中的键。如何设置 DBHEADER 的值?

0 投票
2 回答
495 浏览

vbscript - 如何从 vbscript 获取 MST 属性

因此,我正在创建一个将读取 MSI 和 MST 文件的 vbscript。这个想法是,如果将运行该脚本的用户正在测试一个涉及 MST 文件的 MSI,则该脚本应该创建一个该 MST 具有的新属性的“报告”。

我能够从常规 MSI 获取属性,问题是当我试图进入 MST 部分时。在进行研究时,我发现了 _TransformView 表,这应该有助于我获取这些信息,但我想我不确定我是否知道如何处理该表。

该代码将显示我在 arrPropertyList 中添加的 msi 属性。问题是我正在寻找 MST 属性,而我只得到 MSI 属性。我知道在调用 DB.OpenView 时我应该更改查询以访问 _TransformView 表,但不知道如何获取此信息!欢迎您分享任何知识。

0 投票
0 回答
58 浏览

windows-installer - 使用 -v 开关将转换传递给 msiexec,导致安装程序 exe 无法运行

我正在尝试为 Installshield MSI 安装程序设置静默安装。我正在尝试通过带有开关的 cmd 运行安装程序 exe,-s -v"-qb INSTALLDIR=D:\test TRANSFORMS="D:\filepath\Transform.mst""但这会导致安装程序 exe 无法运行。如果我有-s -v"-qb INSTALLDIR=D:\test"然后它运行。我无法弄清楚为什么在 -v 开关中进行转换会产生问题。我已经测试了提取 msi 并直接使用 -v 开关 ( -qb INSTALLDIR=D:\test TRANSFORMS="D:\filepath\Transform.mst") 的内容运行它,它完全按照我的意愿进行操作,因此转换没有问题,所以我不明白为什么使用 -v 将它传递给 msiexec 时运行安装程序 exe 会导致问题。