WIX - 单击一个按钮调用 dll 以运行批处理文件

Posted

技术标签:

【中文标题】WIX - 单击一个按钮调用 dll 以运行批处理文件【英文标题】:WIX - call a dll in single button click to run a batch file 【发布时间】:2014-03-26 10:06:31 【问题描述】:

我是 WIX 的新手。我需要使用 MSI 安装程序运行批处理文件。我已经完成了以下步骤。

    从 C# 清晰代码调用批处理并将其转换为 dll。 我使用了 WIX_Mondo 并使用自定义操作调用了 dll。它适用于一些不需要的场景。 但我只需要一个带有一个按钮的对话框。只需单击按钮 - 调用 dll 并运行批处理。

请帮助我。谢谢。

【问题讨论】:

【参考方案1】:

如果您的问题是关于如何在单击按钮后调用自定义操作,请查看这篇文章:

WIX CUSTOM ACTION CALL AFTER NEXT

【讨论】:

谢谢科尔。但事实是我不知道我必须在哪里编写代码。就像产品标签之间或 UI 标签之间一样。请提供完整的代码来帮助我。这对我来说真的很有用。谢谢 您无需在 WiX 中编写任何代码。您在自定义操作 Dll 中编写(例如)C++ 代码,并使用“下一步”按钮上的 DoAction 发布事件将其作为自定义操作调用。【参考方案2】:

欢迎来到社区 - 看来这是您的第一个问题。我们需要更多信息来确定是否有更好的方法来满足您的要求。

你能简单解释一下批处理文件在做什么吗?批处理文件操作通常可以转换为 WIX / MSI 结构,从而大大简化和增强您的设置操作。

只需通过设置对话框中的按钮添加要运行的批处理文件,这意味着当设置以静默模式运行时,将完全跳过该操作。这是一个比您想象的更重要的设置功能,因为这是大公司安装软件的方式。

【讨论】:

感谢您的热烈欢迎。我的批处理文件将模型文件(Dynamics AX)从 VS 项目文件夹安装到 SQL Dynamics AX 模型数据库。 我从来没有做过这个特殊的任务,你能提供一些批处理文件中的示例行吗?这样我们就可以看到所涉及的二进制文件。

以上是关于WIX - 单击一个按钮调用 dll 以运行批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 和 MSBuild 不会构建包含相同 dll 的多个版本的 WiX .msi

Wix:自定义操作能走多远?

带有COM dll和服务的Wix安装程序

Wix:无法从Wix CustomAction调用DISM

WiX:如何打包 exe 或 dll 以仅在安装期间使用

如何在 wix 屏幕/对话框之间插入 C# CA 屏幕/表单