custom-action 相关问题

自定义操作是由开发人员提供的自定义代码,用于在Windows Installer安装期间调用。 Windows Installer工具(如WiX,Visual Studio安装项目,InstallShield,Wise,高级安装程序等)支持将自定义操作合并到Windows Installer设置中。

WiX:安装后如何执行命令行命令

我需要在安装后注册一个HTTP端口,但我想这可以抽象为通常执行任何命令行命令。这是我到目前为止所得到的: 我需要在安装后注册一个 HTTP 端口,但我想这可以抽象为通常执行任何命令行命令。这是我到目前为止所得到的: <CustomAction Id="ExecPortOpen" Directory="INSTALLFOLDER" Execute="immediate" ExeCommand="cmd.exe &quot;netsh http add urlacl url=http://+:1234/ user=Everyone&quot;" Return="ignore" /> <InstallExecuteSequence> <Custom Action="ExecPortOpen" After="InstallFinalize" /> </InstallExecuteSequence> 这只是在安装过程中打开一个命令提示符,并且不执行任何操作。我尝试在 cmd.exe 和命令之间添加 /c (我不知道它的作用),但这只是打开和关闭命令提示符而不执行命令。我该如何进行这项工作?我正在使用 WiX 3.8。 自己解决了,实际上是UAC/权限问题。对于任何感兴趣的各方,这里是工作代码: <CustomAction Id="ExecPortOpen" Directory="INSTALLFOLDER" Execute="commit" Impersonate="no" ExeCommand="cmd.exe /c &quot;netsh http add urlacl url=http://+:1234/ user=Everyone&quot;" Return="check" /> <InstallExecuteSequence> <Custom Action="ExecPortOpen" After="InstallInitialize" /> </InstallExecuteSequence>

回答 1 投票 0

Wix4 C# CustomAction 项目编译错误 - WixToolset.Dtf.WindowsInstaller 参考

我希望使用 Wix4 在 .net7 中编写我的第一个 C# CustomAction 项目。 我的项目中有一个非常简单的类,其中一个函数用 CustomAction 属性装饰。 我的阅读...

回答 2 投票 0

添加带有二进制的自定义操作来复制文件

当有人升级到较新版本的软件时,我想复制该文件(UpgradeScripts.sql)并将其粘贴到已安装的PC上的ProgramFiles/Pharm/Database文件夹中。我正在使用 Wix

回答 1 投票 0

在安装项目中执行InstallerClass的Roolback事件时无法找到installstate错误

我创建了一个 Visual Studio 安装项目,并将两个控制台应用程序作为项目输出添加到安装项目中。每个控制台应用程序都有其安装程序类。在安装项目的自定义操作中 I

回答 1 投票 0

WiX v5:使用 dpinst 安装驱动程序

我在论坛上浏览过类似的问题,但没有找到解决我的问题的方法。 我尝试使用自定义操作调用 dpinst 并收到错误:“错误 1721。出现问题

回答 1 投票 0

WiX/MSI:将标准输出重定向到文件,键入 50 自定义操作

我有一个 WiX 安装程序,全部配置为运行 SqlPackage.exe,以将一些已安装的 .dacpac 打包的 SQL 应用程序部署到数据库。实际上按如下方式部署数据库文件就会成功: ...

回答 3 投票 0

在WIX 4.0.5制作的msi安装程序中执行Winget安装命令

我有 powershell 脚本,我想在 WIX 自定义操作的帮助下运行它。在这个脚本中,我有 winget install 命令,我想使用它来安装 dotnet 运行时。 因为...

回答 1 投票 0

如何在安装服务之前在wix中执行自定义操作?

这是我的Product.wxs: 在自定义操作中,我想在安装 Apache 2.4 服务之前对 httpd.conf 文件进行更改,实际上 Apache 2.4 服务从...获取配置参数

回答 3 投票 0

卸载 WiX 时删除文件

卸载我的应用程序时,我想配置 Wix 设置以删除原始安装后添加的所有文件。看来卸载程序只删除了directo...

回答 6 投票 0

自定义操作使用时出错(读取“操作清单根”时遇到意外类型“”。预期类型为“MappingToken”。)

/ ├── .github/ │ ├── 行动/ │ │ └── 缓存依赖/ │ │ ├── 动作.yml └── .github/ └── 工作流程/ └── main.yml 这是

回答 1 投票 0

想要将自定义安装时的输入值用于VB.net制作的应用程序中

我正在用VB.net编程。我已经制作了安装项目来自定义安装我的主应用程序,并在用户界面中添加了文本框 (A) 对话框。安装的时候,我想要tex的输入...

回答 1 投票 0

如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?

我想修改 MSI 安装程序(通过 WiX 创建)以在卸载时删除整个目录。 我了解 WiX 中的“RemoveFile”和“RemoveFolder”选项,但这些选项不够强大...

回答 8 投票 0

使用 WiX ExeCommand 重新启动 Windows 服务的自定义调度程序

我到底可以在哪里添加自定义操作来安排我的 Windows 服务的任务,使其每晚凌晨 3 点运行,以便使用 wix 重新启动。下面是我在 ComponentsGenerate.wxs 中的代码 我到底可以在哪里添加自定义操作来安排我的 Windows 服务每晚凌晨 3 点运行以使用 wix 重新启动任务。下面是我在 ComponentsGenerate.wxs 中的代码 产品:Multisoil App(64 位)-- 错误 1722。 是Windows安装程序包。作为安装一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。操作 CreateScheduledTask,位置:C:,命令:C:\WINDOWS\SysWOW64\schtasks.exe /Create /SC DAILY /TN RestartService /TR "net stop BundleMultiSoil && net start BundleMultiSoil" /ST 03:00 /RU SYSTEM 服务之前安装得很好。只是无法自定义操作。不明白我做错了什么。 ExeCommand 不是批处理文件。它是一个可执行文件,并且是命令行。 && 正在传递给 schedtask 操作,并且可能不是有效的命令行参数。使用 cmd.exe 会被解释为一个新命令...但那是因为 cmd 解释整个字符串。

回答 1 投票 0

在c#中使用wix重新启动Windows服务的自定义调度程序

我到底可以在哪里添加自定义操作来安排我的 Windows 服务的任务,使其每晚凌晨 3 点运行,以便使用 wix 重新启动。下面是我在 ComponentsGenerate.wxs 中的代码 我到底可以在哪里添加自定义操作来安排我的 Windows 服务每晚凌晨 3 点运行以使用 wix 重新启动任务。下面是我在 ComponentsGenerate.wxs 中的代码 产品:Multisoil App(64 位)-- 错误 1722。 是Windows安装程序包。作为安装一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。操作 CreateScheduledTask,位置:C:,命令:C:\WINDOWS\SysWOW64\schtasks.exe /Create /SC DAILY /TN RestartService /TR "net stop BundleMultiSoil && net start BundleMultiSoil" /ST 03:00 /RU SYSTEM 服务之前安装得很好。只是无法自定义操作。不明白我做错了什么。 ExeCommand 不是批处理文件。它是一个可执行文件,并且是命令行。 && 正在传递给 schedtask 操作,并且可能不是有效的命令行参数。使用 cmd.exe 会被解释为一个新命令...但那是因为 cmd 解释整个字符串。

回答 1 投票 0

WIX 创建用户并使用他来授予文件夹权限

我需要创建安装程序,该安装程序创建新的本地用户、新文件夹并授予该用户完全权限。 我通过 Visual Studio 2010 和 Wix 3.10 使用新的 wix 项目创建了下面的小测试: ...

回答 2 投票 0

通过 Intune 部署时忽略 CustomAction 和 MSI 属性

我有一个奇怪的场景,我有一个 C# Windows 窗体应用程序和一个在 VS 2015 中构建 MSI 的安装项目。 在 Windows 窗体项目中,我已正确创建并设置了 InstallerClass.cs,我...

回答 3 投票 0

安装和升级时仅执行一次自定义操作

我有一个自定义操作,在安装或升级期间只需执行一次。 发生的情况是,如果同一产品有旧版本,则自定义操作将执行两次

回答 2 投票 0

当用户将功能从“选定”更改为“未选定”时如何执行自定义操作?

如果用户取消选择特定功能,我想执行我的自定义操作。无论是在修复、升级还是卸载期间,这都没有关系。 在 Up 期间,不应执行该操作...

回答 1 投票 0

WiX v4 - 执行命令不起作用 - 在命令行上工作正常

我有一个运行打包的 exe 的自定义操作: 我有一个运行打包的 exe 的自定义操作: <CustomAction Id="RunIt" Directory="INSTALLFOLDER" ExeCommand="[INSTALLFOLDER]MyEXE.exe /silent >C:\output.log" Execute="deferred" Impersonate="no" Return="asyncWait" /> exe 工作正常 - /silent 命令工作正常 - 但是 >C:\output.log 似乎没有做任何事情。 当我包含 >output 命令时,它确实延长了安装持续时间,这是我所期望的 - 因为它需要时间来写入日志,但它仍然不输出任何内容。 我以前有一个包含完整执行命令的 .cmd(这包含在自定义操作中) - 这工作正常 - 但我想尝试减少不必要的文件,如果可以的话,我不明白为什么这不起作用. >C:\output.log 语法由 cmd.exe 解释。当您使用 exe CustomAction 时,Windows Installer 会直接调用 ::CreateProcess()。 ::CreateProcess() 不执行 cmd.exe 所做的任何语法处理,因此您可能 获取值 >C:\output.log 作为程序的参数输入之一。 您需要启动 cmd.exe 然后启动您的 .exe,或者您的 .exe 需要提供一个选项来登录到文件。

回答 1 投票 0

如何从 Wix 自定义操作构建中获取额外的 CA dll 到 nuget 包中?

我有一个在多个安装程序项目中使用的 Wix 自定义操作 DLL。我想将此 DLL 部署到我们的 nuget 存储库,以便更容易共享。但是,dotnet pack 命令不...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.