问题标签 [msitools]

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 回答
493 浏览

windows-installer - 如何使用 msitools 在 MSI 中打包第三方工具?

我的主要开发平台是 OSX。但是有时我不得不将一些应用程序部署到一些窗口机器上。

定制应用程序对 python 运行时和 python win32 包有一些依赖。我想让这些安装尽可能简单。

这就是为什么我正在考虑使用msitoolsGNOME

我的目标是能够通过单个自定义 MSI 文件包含和触发各种 Windows 应用程序依赖项的安装。

但是我已经检查了这里的文档https://wiki.gnome.org/msitools/HowTo/CreateMSI和这里https://www.firegiant.com/wix/tutorial/。我不知道如何才能实现我的目标。

我的问题:

什么 xml 标记可以让我在整个安装过程中包含并触发第三方组件(例如 python 安装程序)的安装?

0 投票
1 回答
161 浏览

macos - 未处理的子 Wix 节点包

我正在尝试msitools在 OSX 上创建一个 msi。

这是我的简单 xml 文件

它基于这里的答案:https ://stackoverflow.com/a/42102377/58129

我已经msitools使用brew. 的版本msitools是 0.97。

我运行以下命令

我得到这个错误:

我试图将 xml 进一步简化为

我仍然收到相同的错误消息

我的xml文件有问题吗?还是我错误地调用了命令?

0 投票
2 回答
2854 浏览

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

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

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

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

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

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

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

例子:

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

0 投票
1 回答
184 浏览

gcc - Gnome/msitools 构建失败并出现“未找到包 'libgsf-1'”错误

我在我的 Centos7 主机中克隆了“ https://gitlab.gnome.org/GNOME/msitools/-/tree/v0.100 ”并尝试构建,但遇到以下错误,即使已经安装了所需的软件包,它仍然不起作用。

以下是我在尝试使用代码库中的“autogen.sh”构建代码时遇到的错误。

错误:

但问题是我已经安装了libgsf rpm

在此先感谢您的帮助 !

0 投票
0 回答
103 浏览

windows-installer - 使用 GNOME/msitools 创建 msi

我正在运行Centos7 ,我的最终目标是使用https://gitlab.gnome.org/GNOME/msitools修改现有的msi(Microsoft 安装程序)文件...

但在这样做之前,我想看看我是否可以提取现有的msi文件并通过执行以下操作重新创建相同的文件(无需任何修改) 。msitools

  1. 使用以下工具提取现有的msi表和文件内容**msidump****msiextract**

  2. 使用创建msi**msibuild**

但是在第二步之后我没有得到预期的 msi 文件,并且在尝试提取时出现以下错误..“ libmsi_record_get_stream: assertion 'LIBMSI_IS_RECORD (rec) failed'”。很明显,我没有正确创建 msi。

有人可以帮助我应该使用哪些命令来提取现有的msi并使用msitools.

提前致谢 !

0 投票
1 回答
22 浏览

ruby - 如何在 xml 文件中使用 ruby​​ 创建树结构生成器?

我在一个项目中,我必须从 Ubuntu for Windows 创建一个 msi 包。

我设法创建了一个从 Ubuntu rgace 到“msitools”的 msi 文件,它使用 wxs 文件(它就像一个 xml 文件)来配置包。

wxs 文件的示例,它采用一个文件 (FoobarAppl10.exe)。

现在我的问题是用ruby创建一个树结构生成器,这样我的wxs文件就可以打包我项目的所有文件,而无需手动编写。

我编写了一个代码,可以创建一个 xml 文件并在此打印我的蛮力代码:

文件夹

$ ls

build.wxs foobarAppl10.exe generator_xml.rb

如果有人知道如何从树结构生成代码,那将对我有很大帮助!