【问题标题】:Convert Setup project to Wix将安装项目转换为 Wix
【发布时间】:2016-11-03 10:00:14
【问题描述】:

我有一个 C# 应用程序。此应用程序使用项目“Visual Studio 安装程序/设置项目”进行设置。我必须将其更改为“Windows Installer XML/Setup Project”。

VS Installer 使用

  • 自定义操作
  • 一个类public partial class InstallerDB : System.Configuration.Install.Installer。用于安装数据库
  • 也许是别的东西(我不太明白这个安装程序是如何工作的”

我创建了一个 WiX 项目。在product.wxs 中,我添加了对自定义操作的调用。但是如何使用 InstallerDB 类调用项目?

我怎样才能确保进行完全相同的设置?

【问题讨论】:

    标签: c# wix setup-project


    【解决方案1】:

    WiX 不支持安装程序类自定义操作有很多原因,主要是因为 Windows Installer 团队不支持它们,并且它们仅出现在 Microsoft 试图摆脱的 Visual Studio 安装项目中。

    WiX 对源自 DTF 工作的托管代码自定义操作有自己的支持,以使它们更容易被 Windows Installer 接受,因此请将您的自定义操作转换为这种格式。例如:

    https://blogs.msdn.microsoft.com/jschaffe/2012/10/23/creating-wix-custom-actions-in-c-and-passing-parameters/

    http://www.codeproject.com/Articles/132918/Creating-Custom-Action-for-WIX-Written-in-Managed

    如果您使用自定义操作安装程序类安装服务,请不要打扰 - WiX 支持内置的 Windows 安装程序功能来执行此操作(Visual Studio 设置从未这样做过)。请参阅 WiX ServiceInstall 元素和 ServiceControl 以了解停止和启动。 Visual Studio 安装程序使用安装程序类这一事实可能会给人们一种印象,即安装 .NET 服务需要它们,但事实并非如此。

    【讨论】:

    • 我几乎实现了转换。但我不明白如何使用 WiX 安装服务。我的 Visual Studio 设置使用 ProjectInstaller : System.Configuration.Install.InstallerServiceProcessInstallerServiceInstaller 来安装服务。如何使用 WiX 安装服务?
    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 2021-10-18
    相关资源
    最近更新 更多