ClickOnce文件关联

时间:2009-11-18 23:24:09

标签: c# clickonce console-application

我有一个使用ClickOnce部署的控制台应用程序。用户安装程序后,将设置关联,但关联的程序是安装程序(ClickOnce应用程序部署支持库),而不是实际程序。如何将关联作为实际程序而不是安装程序?

我在下面的app.manifest中包含了fileAssociation节点。如果您对此有任何提示,请告诉我。感谢。

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1" 
               extension=".aav" 
               description="My Program" 
               progid="MyProgram" 
               defaultIcon="myIcon.ico" />

在Windows XP,Vista,Windows 7等3台不同的计算机上进行测试。信任级别是完全信任。自动更新设置为启动前启动。

2 个答案:

答案 0 :(得分:19)

问题源于1不一定了解ClickOnce,感谢codeConcussion的简要概述。

而且,2,ClickOnce不通过传统的args格式传递内容,而是通过以下属性传递:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

答案 1 :(得分:6)

我认为这只是对ClickOnce工作方式的误解。 ClickOnce应用程序的主exe程序永远不会直接启动。应用程序通过服务器上的部署清单(.application文件)启动。如果在文本编辑器中打开应用程序的开始菜单快捷方式,则可以看到它指向.application文件,而不是本地.exe。

这允许所有更新魔法发生。如果您的.aav文件与本地.exe关联,则用户在通过.aav文件打开应用程序时不会获得任何更新。

当您双击文件时,您声明“启动安装程序”;你的申请在那之后开始吗?你能解释一下你期望的最终结果吗?