首页 > 解决方案 > Wix 安装程序 - 用于更新 appsettings.json (.net core3.1) 的自定义操作

问题描述

我创建了 .Net 核心 Web API 应用程序,该应用程序将在本地计算机上自托管,并创建一个配置实用程序来更新 API 应用程序配置。

appsetting.json(IN API Project)中有一个key,返回其他项目配置文件的绝对路径。

{
    "ConfigFilePath": "<INSTALL DIRECTORY>\\..\\ConfigurationApplication\\Configuration\\ActualConfig.json"
}

我已经使用 WIX 创建了 MSI 安装程序(我是 WIX 安装程序的新手),并将两个项目集成到一个产品中,并使用WixUI_InstallDir从用户那里获取安装目录。

我想更新 appsettings.json,ConfigFilePath 值指向用户选择的安装目录。

通过一些谷歌搜索,我发现它可以通过 WIX 中的 CustomAction 来实现。

但我的问题是,

  1. WIX 自定义操作项目是在 .net 框架中创建的,所以如果我创建 CustomAction 项目并将其引用到安装程序中,它是否需要安装程序机器上的 .net 框架依赖项?
  2. 是否有任何替代方法可以从 WIX 更新 .net 核心应用程序的 appsettings.json?

标签: .net-corewixcustom-action

解决方案


  1. WIX 自定义操作项目是在 .net 框架中创建的,所以如果我创建 CustomAction 项目并将其引用到安装程序中,它是否需要安装程序机器上的 .net 框架依赖项?

是的,如果您的自定义操作是用 .NET 编写的,它将需要 .NET 才能运行。

  1. 是否有任何替代方法可以从 WIX 更新 .net 核心应用程序的 appsettings.json?

WixJsonExtension是用 C++ 编写的,不需要在目标机器上安装 .NET。


推荐阅读