Clickonce fragt nach einer Lizenzvereinbarung

8

Ist es möglich, eine ClickOnce-Bereitstellung für eine Win Form-Anwendung zu erstellen, um den Benutzer aufzufordern, einer Lizenzvereinbarung zuzustimmen, bevor er fortfährt?

    
Coppermill 07.05.2009, 11:12
quelle

5 Antworten

10

Antwort von MSDN durch den Benutzer Heath8041 :

Sneaky So erhalten Sie eine EULA für Ihre ClickOnce-Anwendung in VS2005

Hier finden Sie eine Übersicht, wie Sie Ihre ClickOnce-Anwendungen mit einer Endbenutzer-Lizenzvereinbarung installieren können. Im Grunde erstellen Sie eine weitervertreibbare Komponente, die im Dialogfeld "Voraussetzungen" unter dem Veröffentlichungsfenster angezeigt wird. Auf diese Weise können alle Ihre Apps die gleiche Vereinbarung verwenden, wenn Sie möchten. Es ist sehr einfach, Sie müssen nur drei Dateien erstellen ("eula.txt", "product.xml" und "package.xml") und zwei Ordner in diesem Fall ("EULApackage" und "en"). Ich habe alles hier unten dokumentiert, wie ich es eingerichtet habe. es funktioniert super. Die einzige Sache, die Sie ändern müssen, ist der Name der Komponente und natürlich benötigen Sie Ihre eigene Endbenutzerlizenzvereinbarung, die als eula.txt gespeichert wird. Die Komponente muss in den folgenden Pfad eingefügt werden: C: \ Programme \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Pakete In diesem Ordner sollten einige Unterordner für andere verteilbare Komponenten angezeigt werden. Erstellen Sie zuerst ein neues Unterverzeichnis für Ihre Komponente. Ich habe mein EULA-Paket aufgerufen. In diesem neuen Ordner benötigen Sie Folgendes. Eine Datei namens product.xml und ein Unterordner namens "en" (für Englisch) Sie können verschiedene Dinge mit der Datei product.xml tun, aber hier ist die Art, wie meine aussieht

%Vor%

* In diesem Fall war die Datei eula.txt die Textdatei, die meine Lizenzvereinbarung war. Beachten Sie, dass es sich nicht um eine RTF-Datei handelt. Rtf zeigt mit dieser Methode keine Eigenschaften an.

Jetzt in meinem "en" -Unterordner habe ich die eula.txt-Datei und eine andere XML-Datei namens package.xml, wieder kann diese XML-Datei verwendet werden, um alle Arten von Sachen zu tun

enthält den Inhalt meiner Version *

%Vor%

Hinweis: Was immer Sie in das Feld DisplayName schreiben, wird Ihrem Benutzer angezeigt, wenn er mit dem Eula-Text konfrontiert wird Wenn Sie das alles richtig und in den richtigen Ordnern zusammengefügt haben, starten Sie VS2005 das nächste Mal und gehen Sie auf Ihre Veröffentlichung Registerkarte - & gt; Voraussetzungen sollten Sie das DisplayName Feld sehen. Überprüfen Sie dies als Voraussetzung für Ihre App. Wenn der Benutzer in der Datei "publish.htm" auf "install" klickt, zeigt er dem Benutzer die Inhalte Ihrer eula.txt-Datei in einem Standard-Dialogfeld für die Lizenzannahme an. Wenn das Choose accept your stuff installiert, wenn es ablehnt, dann geht es ziemlich gut und nichts ist auf ihren Systemen installiert. Wenn Sie die Formatierung für eine der beiden Dateien durcheinander bringen oder den Unterordner "en" weglassen, wird die Komponente nicht im Voraussetzungsdialog (bei der Veröffentlichung) angezeigt

Zusätzliche Anmerkungen: Obwohl das großartig funktioniert, ist es eine runde Methode und es gibt Wege um die eula, zum Beispiel, wenn Ihre publish.htm Datei es ihnen ermöglicht, die Anwendung direkt auszuführen (ich schätze, ohne dass der Bootstrapper startet) aber wenn sie auf die Schaltfläche Installieren klicken, wird sie ausgeführt. Dies hat auch den Vorteil, dass Sie nicht jedes Mal ausgeführt werden, wenn Sie ein Update für Ihre clickonce-Anwendung veröffentlichen. Sie müssen den Boot-Strapper ausführen, um die Eula anzuzeigen (indem Sie auf den Install-Button auf publish.htm klicken). Ich habe diese Methode herausgefunden, indem ich einige andere verteilbare Komponenten betrachtet habe, die sich bereits im Pfad C: \ Programme \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages befanden. Sie können in den anderen Komponenten product.xml und package.xml nachsehen, welche coolen Dinge sie damit gemacht haben.  Viel Glück

    
Shay Erlichmen 07.05.2009, 11:20
quelle
2

Für jeden, der das versucht, wird es funktionieren ... Ich benutze Visual Studio 2008 und habe Coppermill gesagt, der Speicherort ist "C: \ Programme \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages \ "

Ich musste auch noch ein paar andere Dinge zur product.xml hinzufügen:

%Vor%

Ich musste auch eine "Do nothing" ausführbare Datei erstellen, sonst würde sich die elcu.txt im Editor öffnen. Wie auch immer, viel Glück ...

    
Nate 03.09.2009 19:05
quelle
1

Ich glaube nicht, dass es da ist.

Wenn Sie Ihre Click-Once-App von einer Webseite aus bereitstellen, können Sie die Zustimmung des Nutzers vor der Installation der App akzeptieren. Der Effekt wird der gleiche sein.

    
Arjan Einbu 07.05.2009 11:16
quelle
1

Wenn wir Visual Studio 2010 verwenden, haben wir es im Ordner "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages" hinzugefügt. Es funktioniert jetzt.

    
Sachin 19.09.2011 06:16
quelle
0

Ich poste dies als Antwort auf Yuki Izumis Post. Anstatt eine Batch-Datei zu verwenden, habe ich eine leere vbs-Datei hinzugefügt und die Datei product.xml zu

geändert %Vor%

Dies ist ein weiterer Weg, um zu verhindern, dass sich die Datei eula.txt öffnet, wenn Sie auf Akzeptieren klicken. Ich habe es auch mit einer rtf-Datei versucht. Das wurde richtig angezeigt (VS 2015).

    
unni 12.02.2016 20:43
quelle

Tags und Links