问题标签 [windows-installer]

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 投票
6 回答
11486 浏览

wix - 包括所有依赖项

我刚开始使用 WiX,因为我需要能够在我们的 CI 服务器上自动构建 MSI。反正有没有自动包含项目的所有依赖项?

0 投票
1 回答
1554 浏览

installation - 使用 WixUI_Minimal 的 Wix 自定义操作

因此,我尝试在应用程序完成安装后(尽管实际上,运行辅助应用程序并不重要,因为它在安装过程中不会与已安装的文件交互),运行另一个程序与应用程序捆绑在一起。相关代码(用“...”替换各种内容:

我检查了目录,文件在我预期的位置,但在安装过程后没有执行。事实上,我什至不想安装该文件,只需运行然后删除即可。但我暂时忽略它。无论如何,我已经看到了几个在对话后触发动作的例子,但由于我目前正在使用<UIRef Id="WixUI_Minimal" />,我认为这并不理想。

0 投票
3 回答
19335 浏览

c# - 标记 MSI,因此它必须作为提升的管理员帐户运行

我有一个 CustomAction 作为 MSI 的一部分。

它必须作为域帐户运行,该域帐户也是本地管理员帐户的成员。

它不能使用 NoImpersonate 标志以 NT Authority\System 的身份运行自定义操作,因为它将无法访问网络资源。

在启用了 UAC 的 Vista/2008 上,如果 NoImpersonate 关闭,那么它将作为执行用户运行,但使用非特权令牌,并且无法访问本地资源,例如 .installState。请参阅 UAC 架构

任何人都知道一种方法

  • 以与从提升的命令提示符运行相同的方式强制 MSI 使用提升的令牌运行?

  • 强制 CustomAction 运行提升(清单中的 requireAdministrator 似乎不起作用)?

  • 确定 UAC 是否已启用,是否尚未提升,如果是,则警告或取消安装?

0 投票
2 回答
795 浏览

visual-studio - 依赖项和在 vs 安装程序 6 中手动添加 dll/ocx 之间的区别是什么?

我正在使用 vs 安装程序为我的 vb6 应用程序构建安装程序包。问题是我可以看到在项目资源管理器下有一个附加到我的 exe 文件的依赖项列表。

替代文字 http://img505.imageshack.us/img505/9696/croppercapture259lr8.png

在目标机器树视图上的文件系统下,我实际上可以将 dll/ocx 存储在一个文件夹或 Windows 系统文件夹本身[左侧窗口]中。

替代文字 http://img101.imageshack.us/img101/9224/croppercapture251qm1.png

所以我不明白的是..实际上有区别吗?如果我只是设置了依赖项并且没有将 dll 或 ocx 添加到文件夹或 win sys 文件夹中,那么 dll 是否也会自动被复制过来?

0 投票
3 回答
3540 浏览

installation - 在没有 SelfReg 的情况下安装 Capicom:未找到 Wix 自定义操作 (Err 2721)

在成功遵循这个问题中的建议后,我为另一个自定义操作添加了几行额外的代码。这个是为了在我试图放入用户系统文件夹的 capicom 副本上调用 regsvr32。但是,我收到错误 2721,从我所见,这似乎是未找到自定义操作错误。有什么建议么?我试图通过调用 regsvr 来保持与我的安装程序以前迭代的一致性,而不是仅仅在安装期间添加注册表项,这可能是一个好主意。:::耸肩:::

编辑:是的,使用 regsvr32 作为安装程序很难看。但是当我下载 Capicom SDK 时,MS 说要安装它。四处搜索发现很多人说这是一种愚蠢的方法……但这也是MS提供的机制。我会听取建议以寻求更好的方法。考虑到它是标准的 Windows 组件,如果在卸载我的应用程序时留下 Capicom,我认为这没什么大不了的。

编辑:嗯。显然,在 dll 上运行 selfreg 所做的事情之一就是创建一个随机种子以添加到注册表中。不确定它使用什么机制来生成这个种子,但我怀疑自己生成一个会被认为是低俗的,特别是如果我给所有用户提供相同的种子。不确定.... 显然,如果我跳过这个 Capicom 会自己做,所以我很好。

0 投票
1 回答
2103 浏览

installation - VDPROJ 自动升级与卸载/重新安装

我看到了关于由 VDPROJ 文件生成的 MSI 文件的令人困惑的行为。如果我在 Visual Studio 中构建我的 MSI,然后右键单击并从 Visual Studio 中选择“安装”,它将自动卸载已安装的任何版本,然后安装新的 MSI。

但是,如果获取生成的 MSI 并直接运行它,如果已经安装了以前的版本,它会报错。我必须先明确卸载它(在添加/删除程序中)。

这是怎么回事?是否有 Visual Studio 执行 MSI 的命令行参数?

0 投票
1 回答
4662 浏览

windows - 将许可证信息添加到 NSIS 安装程序

我们通过 NSIS 生成的 Windows 安装程序分发我的小组创建的软件。我们从不再与我们合作的开发人员编写的 python 脚本生成 NSIS 配置文件,因此我们目前没有任何员工知道如何编写 NSIS 配置文件。我的任务是修改这个脚本,在安装程序中添加一个部分,在执行实际安装之前显示我们的许可信息。

NSIS 配置文件中的这样一个部分会是什么样子?

0 投票
11 回答
44775 浏览

wix - 学习如何从 WiX 创建 MSI 安装程序的好资源

我已经放弃尝试将口红应用到从Visual Studio出来的安装程序的猪身上,并决定看看WiX

您会推荐哪些资源来学习和参考?

(注意——这不是你使用哪个安装技术的问题——它特定于 WiX。)

0 投票
1 回答
5673 浏览

windows-installer - 将 MSIUSEREALADMINDETECTION 添加到 MSI 的脚本

任何人都有一个本着这个方便脚本的精神的脚本(JScript、VBScript 或类似的),但添加了MSIUSEREALADMINDETECTION属性

我知道我可以手动使用 Orca 或使用它的转换功能,但我不想去那里。

0 投票
5 回答
87872 浏览

windows-installer - 如何检查是否安装了 Windows Installer 3.1 或更高版本?

我需要知道这一点,因为这是 .NET 3.5 的先决条件,如果我包含 .NET 引导程序,我还应该查看是否需要 Windows Installer 3.1。

现在我正在检查注册表项:

它将检查 Windows Installer 3.1,但我怀疑它不会检查更高版本。(无法确认或否认)

我应该查看哪个注册表项来查找此信息?

编辑:我需要在 Inno Setup 中检查这个,这是我用作引导程序的东西,我不确定如何在那里检查 dll 版本。