2009-11-18 13 views
7

Ich habe eine Konsolenanwendung, die ich mit ClickOnce bereitstellen. Sobald der Benutzer das Programm installiert hat, werden die Zuordnungen festgelegt, aber das zugehörige Programm ist das Installationsprogramm (ClickOnce Application Deployment Support Library) und nicht das eigentliche Programm. Wie kann ich feststellen, dass der Verein das eigentliche Programm und nicht der Installateur ist?ClickOnce File Association

Ich habe den fileAssociation Knoten aus der app.manifest unten enthalten. Bitte lassen Sie mich wissen, wenn Sie irgendwelche Tipps dazu haben. Vielen Dank.

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

Getestet auf 3 verschiedenen Computern von Windows XP bis hin, Vista, Windows 7. Vertrauen Ebene ist voller Vertrauen. Die automatische Aktualisierung ist so eingestellt, dass sie vor dem Start ausgelöst wird.

+0

Einige weitere Informationen wäre schön: Auto-Update-Einstellungen, Ebene Vertrauen, auf anderen PC getestet? –

+0

Getestet auf 3 verschiedenen Computern von Windows XP, Vista, Windows 7. Der Vertrauensgrad ist voll vertrauenswürdig. Die automatische Aktualisierung ist so eingestellt, dass sie vor dem Start ausgelöst wird. – strickland

Antwort

18

Das Problem für 1 nicht unbedingt Verständnis ClickOnce, danke codeConcussion für den kurzen Überblick.

Und 2, dass Clickonce die Dinge nicht durch die traditionelle args-Format übergeben wird, sondern durch die folgende Eigenschaft: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

+1

Danke ... Großer Dank in der Tat! – IWIH

6

Ich denke, dies ist nur ein Missverständnis, wie ClickOnce funktioniert. Die Haupt-EXE einer ClickOnce-Anwendung wird niemals direkt gestartet. Anwendungen werden über das Bereitstellungsmanifest (Anwendungsdatei) auf dem Server gestartet. Wenn Sie die Startmenüverknüpfung Ihrer Anwendung in einem Texteditor öffnen, sehen Sie, dass sie auf die Anwendungsdatei verweist, nicht auf die lokale EXE-Datei.

Dies ermöglicht die gesamte Update-Magie passieren. Wenn Ihre .aav-Datei der lokalen EXE-Datei zugeordnet wurde, erhält der Benutzer beim Öffnen der Anwendung über eine .av-Datei keine Aktualisierungen.

Sie haben angegeben, dass "das Installationsprogramm startet", wenn Sie auf eine Datei doppelklicken; Beginnt Ihre Bewerbung danach? Können Sie das Endergebnis erklären, das Sie erwarten?