ClickOnce File Association

谁都会走 提交于 2019-11-27 07:43:13

问题


I have a console application that I'm deploying using ClickOnce. Once the user installs the program the associations are set but the associated program is the installer(ClickOnce Application Deployment Support Library) and not the actual program. How can I get the association to be the actual program and not the installer?

I've included the fileAssociation node from the app.manifest below. Please let me know if you have any tips on this. Thanks.

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

Tested on 3 different computers ranging from Windows XP, Vista, Windows 7. Trust level is full trust. Auto Update is set to fire pre-launch.


回答1:


The problem stemmed for 1 not necessarily understanding ClickOnce, thanks codeConcussion for the brief overview.

And 2, that ClickOnce does not pass things through the traditional args format but through the following property: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData




回答2:


I think this is just a misunderstanding of how ClickOnce works. A ClickOnce application's main exe is never launched directly. Applications are started through the deployment manifest (.application file) on the server. If you open your application's start menu shortcut in a text editor you can see it points back to the .application file, not the local .exe.

This allows all the update magic to happen. If your .aav file was associated to the local .exe, the user wouldn't get any updates when opening the application through a .aav file.

You stated it "launches the installer" when you double click a file; does your application start after that? Could you explain the final result you are expecting?



来源:https://stackoverflow.com/questions/1759850/clickonce-file-association

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!