确定App是否作为“clickonce”应用程序运行

时间:2010-12-19 18:25:42

标签: c# clickonce

我正在编写一个库(c#.net 4.0),以便在许多应用程序中使用。其中一个要求是库会根据应用程序是否已部署并通过clickonce运行而向调用返回稍有不同的结果。

我已经进行了搜索,但无法找到程序集可以确定“托管”应用程序是否部署了clickonce的任何方式。

任何指针都会受到赞赏。

2 个答案:

答案 0 :(得分:9)

添加对System.Deployment的引用,之后您可以使用:

Application.ApplicationDeployment.IsNetworkDeployed

如果需要将参数传递给应用程序,请使用:

var args = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;

答案 1 :(得分:0)

我想你可能想要CurrentDeployment。请注意,根据文档,如果您从不是clickonce的应用程序调用它,它将引发异常。