自定义操作是由开发人员提供的自定义代码,用于在Windows Installer安装期间调用。 Windows Installer工具(如WiX,Visual Studio安装项目,InstallShield,Wise,高级安装程序等)支持将自定义操作合并到Windows Installer设置中。
我正在用VB.net编程。我已经制作了安装项目来自定义安装我的主应用程序,并在用户界面中添加了文本框 (A) 对话框。安装的时候,我想要tex的输入...
如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?
我想修改 MSI 安装程序(通过 WiX 创建)以在卸载时删除整个目录。 我了解 WiX 中的“RemoveFile”和“RemoveFolder”选项,但这些选项不够强大...
使用 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 解释整个字符串。
在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 解释整个字符串。
我需要创建安装程序,该安装程序创建新的本地用户、新文件夹并授予该用户完全权限。 我通过 Visual Studio 2010 和 Wix 3.10 使用新的 wix 项目创建了下面的小测试: ...
通过 Intune 部署时忽略 CustomAction 和 MSI 属性
我有一个奇怪的场景,我有一个 C# Windows 窗体应用程序和一个在 VS 2015 中构建 MSI 的安装项目。 在 Windows 窗体项目中,我已正确创建并设置了 InstallerClass.cs,我...
我有一个自定义操作,在安装或升级期间只需执行一次。 发生的情况是,如果同一产品有旧版本,则自定义操作将执行两次
当用户将功能从“选定”更改为“未选定”时如何执行自定义操作?
如果用户取消选择特定功能,我想执行我的自定义操作。无论是在修复、升级还是卸载期间,这都没有关系。 在 Up 期间,不应执行该操作...
我有一个运行打包的 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 需要提供一个选项来登录到文件。
如何从 Wix 自定义操作构建中获取额外的 CA dll 到 nuget 包中?
我有一个在多个安装程序项目中使用的 Wix 自定义操作 DLL。我想将此 DLL 部署到我们的 nuget 存储库,以便更容易共享。但是,dotnet pack 命令不...
我创建了自定义 django-admin 命令 但是,我不知道如何在标准 django 测试中测试它
如何运行在取消/中止安装时运行的 CA? 我想在取消/中止的情况下运行命令。 我也需要它支持安静模式。 另外,我如何检测它处于取消模式?
Flutterflow 包 plaid_flutter:^3.1.4 在自定义操作中使用正确的 LinkToken 初始化 PlaidLink 时会引发错误。我错过了什么?
我能够从 Plaid 成功获取链接令牌。但是,当我将其传递给应用程序(在桌面和移动浏览器的 Flutterflow 测试模式下尝试)并尝试初始化
我有一个自定义操作,可以报告 WIX 项目中的安装失败。它的定义如下: 我有一个报告 WIX 项目中安装失败的自定义操作。它的定义如下: <CustomAction Id="ReportError" DllEntry="ReportError" BinaryKey="Actions.dll" Return="check" Execute="immediate" /> ... <InstallExecuteSequence> <Custom Action="ReportError" OnExit="error">NOT Installed</Custom> ... </InstallExecuteSequence> 是否可以在ReportError代码中获取msi错误代码和消息? 例如我可以在 msi 日志文件中看到类似 Error 1327. Invalid Drive: E:\ 的错误。如何检索错误代码 1327 和错误消息 无效驱动器:E:\? 不确定获取错误文本和代码,但您可以在任何失败时显示自己的错误文本: 喜欢那个样本: <CustomAction Id='AddComponent' Property='Component' Value='"!(wix.exeLocation)\sys-or-your.exe" /norestart /quiet' Execute='immediate'/> <CustomAction Id="Component" DllEntry="WixQuietExec64" BinaryKey="WixCA" Execute="deferred" Return="check" Impersonate="no" /> <CustomAction Id="Error" Error="Sys or your Component not added."/> <InstallExecuteSequence> <Custom Action="AddComponent" After="CostFinalize"></Custom> <Custom Action="Component" After="InstallInitialize"><![CDATA[(NOT Installed)]]></Custom> <Custom Action="Error" OnExit="error">NOT Installed</Custom> </InstallExecuteSequence>
提前致谢。 我想在使用 fetch:template Action 获取文件后附加一个文件 例子:- 下面是我的获取操作 脚步: - id:获取配置模板 名称:获取规定...
应如何修改下面的 wxs 代码以使 WiX 3.11 仅运行自定义操作? (无需任何安装) ` 应如何修改下面的 wxs 代码以使 WiX 3.11 仅运行自定义操作? (无需任何安装) `<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" Name="RunNotepad" Language="1033" Version="1.0.0.0" Manufacturer="YourManufacturer" UpgradeCode="{E7A6D8C2-9F05-4A0F-B7C2-91A3B9D35F25}"> <Package InstallerVersion="200" Compressed="yes"/> <Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLFOLDER" Name="RunNotepad"/> </Directory> </Directory> <Feature Id="ProductFeature" Title="RunNotepad" Level="1"> <ComponentGroupRef Id="ProductComponents"/> </Feature> </Product> <Fragment> <DirectoryRef Id="INSTALLFOLDER"/> </Fragment> <Fragment> <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> <Component Id="RunNotepadComponent" Guid="{E7A6D8C2-9F05-4A0F-B7C2-91A3B9D35F25}"> <File Source="tinytask.exe"/> </Component> </ComponentGroup> <InstallExecuteSequence> <Custom Action="RunNotepad" Before="InstallFinalize">NOT Installed</Custom> </InstallExecuteSequence> </Fragment> <Fragment> <CustomAction Id="RunNotepad" Directory="INSTALLFOLDER" ExeCommand="[SourceDir]PL\PL.exe" Execute="deferred" Impersonate="no" Return="asyncNoWait"/> </Fragment> </Wix>` 因为这是 .msi 的非标准使用,谷歌搜索没有给我任何帮助( 我已经成功地通过从 [CURRENTDIRECTORY] 运行的 VBScript 实现了该功能。这是在任何安装开始之前可用的属性值
找不到将 powershell 脚本作为自定义操作运行的注册表路径
我有一个 PowerShell 脚本,我正在其中读取和编辑注册表。 我尝试手动运行它,从命令行调用它,使用 ps2exe 将其转换为 .exe,对于所有这些场景,它
手动运行 powershell 脚本与作为自定义操作调用时的不同行为
我有一个 PowerShell 脚本,我正在其中读取和编辑注册表。 我尝试手动运行它,从命令行调用它,使用 ps2exe 将其转换为 .exe,对于所有这些场景,它
具有自定义操作的 WIX 安装程序:“由比当前加载的运行时更新的运行时构建,无法加载。”
我有一个 WIX 安装程序,可以在安装过程中执行自定义操作。当我运行 WIX 安装程序时,它遇到第一个自定义操作,安装程序失败,我收到一个错误...
我正在使用 jpackage 为 Java 应用程序创建 .msi 安装程序。生成的 .msi 文件工作正常,但我希望安装程序能够自动启动生成的应用程序...