Windows Installer是Windows提供的安装服务,基于MSI文件的创建和安装。在实践中,将有一个工具用于生成MSI文件,您应该使用Windows Installer和该工具(WiX,Visual Studio安装项目,InstallShield,高级安装程序等)标记您的问题。您的问题可能在于构建,设计或安装MSI文件。
我在使用 InstallShield 以及所有 .msi 安装程序附带的所有包袱时遇到了很多问题。所以我一直在考虑编写自己的安装程序框架。其中之一...
如何使我的应用程序兼容Windows RestartManager?
是否有任何好的文章可以详细解释 RestartManager 以及如何让应用程序感知并处理特殊消息以便正确关闭? 我有两个应用程序......
我正在使用 Wix 3.11.1 和 VS2017 扩展。我从自定义对话上的控件设置属性,然后尝试立即执行自定义操作。当我尝试阅读会话时,它总是......
如果 choco 包中包含 msi,$packageArgs.checksum ChocolateyInstall 脚本中应该有什么校验和?
如果msi包含在choco包中,$packageArgs.checksum是msi校验和吗?仅当从互联网下载 msi 时才需要此校验和吗? choco install 使用这个校验和吗
我写这篇文章是为了那些可能有同样问题的人。我有一个非常简单的安装程序包:WIX、1 个功能、4 个组件、1 个自定义操作,没有 UI。错误 2753 “文件...未标记为
我需要一个 WiX 3 脚本来显示仅显示 2 个对话框:欢迎和已完成。就是这样,不需要 EULA、文件夹选择等。感谢所有帮助。
有没有办法从命令行显示msi文件的产品名称和版本?或者更好的是,这可以通过 python 完成吗?
WiX v4 引导程序 - 将 InstallFolder 设置为程序文件无法解决
我有一个 WiX v4 项目,它使用引导程序,在 中声明。我想根据程序文件文件夹设置默认的 InstallFolder,因此我的结构如下: 我有一个 WiX v4 项目,它使用引导程序,在 <Bundle> 中声明。我想根据程序文件文件夹设置默认的InstallFolder,所以我的结构如下: <Wix ...> <Bundle ...> <Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]MyProduct" /> <BootstrapperApplication> <bal:WixStandardBootstrapperApplication Theme="hyperlinkLicense" LicenseUrl="" /> </BootstrapperApplication> <Chain> ... </Chain> </Bundle> </Wix> 但是[ProgramFilesFolder]没有解决,我看到的只是这个: 我在网上看到了几个例子,表明这就是它的完成方式(wix 工具集中没有明显的文档显示如何解析包中的变量)。我做错了什么? 将变量 Type="string" 更改为 Type="formatted",变量 [ProgramFilesFolder] 将被解析
是否可以将安装程序列表(对于 Windows 操作系统,键入 .exe)捆绑到单个可执行安装程序中?
我有一个可执行文件列表,它们是特定 Windows 程序的安装程序。我是否可以制作一个安装程序,将所有这些安装程序捆绑在一起,以便最终用户可以
如何取消/中止通过 MsiInstallProduct 启动的 msi 安装
我已使用 MsiInstallProduct 从 msi 开始安装。 此外,我还设置了 MsiSetInternalUI 和 MsiSetExternalUIRecord。 我怎样才能告诉安装停止并执行回滚....
使用 PowerShell 脚本安装 MSI 包时 SQL 连接出错
我正在尝试在powershell中编写一个脚本,该脚本将在虚拟机上安装10台服务器。这只是简单的脚本,我在其中指定参数列表、MSI 包的路径并被动运行
VS 2022 安装程序项目 - 快捷方式已安装但不起作用,它不会启动关联的 .exe
目标是应用程序文件夹目录中的HAcomms.exe。 一切看起来都正确,但安装的图标有一个无效的目标: 目标只是“HAcomms”,这不是......
我有以下财产: 1 UI 中绑定到该属性的复选框: 我有以下财产: <Property Id="UPDATEDB">1</Property> UI 中绑定到该属性的复选框: <Control Id="updateDatabase" Type="CheckBox" CheckBoxValue="1" Height="15" Width="95" X="20" Y="74" Text="Update Database" Property="UPDATEDB" /> 还有一个自定义操作,它根据此属性的值执行某些操作 <CustomAction Id="RunDbMigration" Directory="INSTALLDIR" Return="check" ExeCommand='[DBMIGRATIONDIR]\DbMigration.exe' /> <InstallExecuteSequence> <Custom Action="RunDbMigration" After="InstallFinalize">UPDATEDB=1 AND NOT Installed</Custom> </InstallExecuteSequence> 如果我尝试从命令行为 UPDATEDB 传递 0 值: msiexec /i "Setup.msi" /l* UPDATEDB=0 或 msiexec /i "Setup.msi" /l* UPDATEDB="0" 无论如何,复选框的值都会被选中。也就是说,传入的 0 似乎受到尊重,并且 RunDbMigration 操作未运行... 这是怎么回事?为什么这是如此火箭科学? 正如其他人提到的,复选框不是 1/0 意义上的布尔值,而是 null/not-null 意义上的布尔值。 要从命令行取消设置 - 您需要使用类似的东西 msiexec /i "Setup.msi" /l* UPDATEDB="" 您的条件很可能在执行自定义操作之前专门查找 1 的值,这就是您的 CA 未运行的原因。 安装程序属性要么设置为一个值,要么不设置。在内部,该值只是一个字符串,因此“0”、“1”、“true”和“false”是相同的。 当复选框控件的属性设置为某个值(无关紧要)时,复选框控件将被选中;当其属性为空时,复选框控件将被取消选中。 此命令行设置属性并选中复选框: msiexec /i "Setup.msi" /l* UPDATEDB="0" 此命令行不设置属性,因此未选中该复选框: msiexec /i "Setup.msi" /l* 问题是 CheckBoxValue="1"。您可以在这里找到问题的解决方案:https://wix-users.narkive.com/HOW67H18/how-to-conditionally-check-uncheck-a-checkbox
我正在尝试为 Winui3 应用程序创建安装程序并向其添加外部 msi 文件。 到目前为止,我已经尝试过 Wix 工具集和 Microsoft Visual Studio 安装程序项目,但都创建了一个 msi 文件...
我有一个Installshield项目。 我添加了一个主要升级项并更改了产品版本、产品代码和包代码。 使用新安装程序安装后,仍然是旧版本
在使用 WIX 创建的 Windows Installer msi 包中,我想执行一个自定义操作(用 C# 编写),该操作执行由安装程序安装的 powershell 脚本文件。 该脚本需要...
在捆绑包中的 tauri.conf.json 中,我已经更新了所有图标,但 app.exe 文件仍然没有显示图标。还有其他方法可以更新图标吗? 在 tauri.conf.json 中 “图标”: [ ”
我正在开发一个新的 Wix 安装程序。 我想做的是将 .exe 复制到目录中。 创建一个新用户。 使用该新用户安装 Windows 服务。 <
一年多前,我开始构建一个供内部使用的工具,并通过 MSI 和 setup.exe 分发它(setup.exe 是检查当前版本是否已安装或是否已安装所必需的...
如何在 Windows 上安装 .NET Core 控制台应用程序以直接从命令提示符执行
我开发了简单的.NET Core 8.0控制台应用程序(应用程序名称:opengate.exe)。要运行此应用程序,我必须首先在命令提示符下找到该文件夹,然后才能运行 opengate.exe。 我想要...