在 Windows 上访问 .NET 的 ClickOnce 激活数据

从 .NET 8.0 版本的 dotnet-mage 开始,可以使用环境变量访问 ActivationData 属性。 使用此版本的 dotnet-mage,您可以通过编程:

  • 根据自定义文件关联来发现用于激活的文件名。
  • 发现 appref-ms 文件中用于激活的参数。

启动器读取 AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData 数组,并在数组不为空时设置相应的环境变量。

环境变量

设置了以下环境变量:

  • ClickOnce_ActivationData_Count

    如果此变量存在,则该值是 ActivationData 字符串数组中的元素计数。

  • ClickOnce_ActivationData_<n>

    对于数组中的每个元素,使用从零开始的索引添加一个新的环境变量,即:

    ClickOnce_ActivationData_0 ClickOnce_ActivationData_1

    此更改修复的方案始终使用零索引元素,因此变量始终是 ClickOnce_ActivationData_0,但代码很灵活,并且能够将所有激活数据传递给 .NET 应用。

访问属性

可以使用以下代码读取这些环境变量来发现 ActivationData 内容:

string value = Environment.GetEnvironmentVariable("ClickOnce_ActivationData_0");

以前,对于 .NET Framework 应用,你将使用以下代码读取此数据:

string value = AppDomain.CurrentDomain?.SetupInformation?.ActivationArguments?.ActivationData?[0];

Windows 上的 ClickOnce for .NET