我有一个使用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台不同的计算机上进行测试。信任级别是完全信任。自动更新设置为启动前启动。
答案 0 :(得分:19)
问题源于1不一定了解ClickOnce,感谢codeConcussion的简要概述。
而且,2,ClickOnce不通过传统的args格式传递内容,而是通过以下属性传递:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData
答案 1 :(得分:6)
我认为这只是对ClickOnce工作方式的误解。 ClickOnce应用程序的主exe程序永远不会直接启动。应用程序通过服务器上的部署清单(.application文件)启动。如果在文本编辑器中打开应用程序的开始菜单快捷方式,则可以看到它指向.application文件,而不是本地.exe。
这允许所有更新魔法发生。如果您的.aav文件与本地.exe关联,则用户在通过.aav文件打开应用程序时不会获得任何更新。
当您双击文件时,您声明“启动安装程序”;你的申请在那之后开始吗?你能解释一下你期望的最终结果吗?