2016-11-17 1 views
0

Wir verwenden Click Once, um unsere benutzerdefinierten Apps zu installieren. Aber ich mag es, meine Apps als separate Assemblies zu gestalten. Ich habe beispielsweise einen Etikettendrucker erstellt, der aus mehreren Projekten besteht, z. B. Datenmanager, Word-Automatisierung, Fehlerprotokollierung usw. Die Fehlerprotokollierung ist sehr detailliert. Sie protokolliert das Ereignis, das den Aufruf ausgelöst hat, bis auf die Methode, die den tatsächlichen Fehler verursacht hat. Es wäre schön, nur die gleiche DLL zu verwenden und während ich mit dem Klick einmal kann, wenn ich das Projekt aktualisieren werde ich jede Lösung veröffentlichen, die es verwendet, ziemlich albern in der Tat.Kann ich Click Once verwenden, um gemeinsam genutzte Dateien zu installieren, und wenn ja, wie?

Obwohl es nicht so schlimm sein kann mit nur Fehlerprotokollierung dupliziert, aber dieses Problem wird nur noch schlimmer.

Ist der Klick einmal nur für Unikate und nicht für seriöse Entwickler? Das wäre lahm, denn es funktioniert wirklich gut in einem Geschäft, was Distribution und Aktualisierung angeht. Von dem, was ich gesehen habe, scheitert in der skalierbaren Abteilung. Es sei denn, ich vermisse etwas. . .

Antwort

2

Ich denke, das ist nicht möglich. Das Anwendungsmanifest enthält alle Anwendungsdateien mit ihren Versionsinformationen und Hashes. Vielleicht könntest du ein paar schmutzige Hacks machen, aber das fühlt sich einfach nicht richtig an.

Sicher, wenn Sie ein einzelnes Projekt (dll) aktualisieren, das in mehreren Anwendungen verwendet wird, klicken Sie einmal, und Sie müssen alle diese Anwendungen manuell veröffentlichen, ich stimme Ihnen zu - das ist kein Job, den ein Entwickler tun sollte.

Ein besserer Weg wäre, automatisierte Builds mit einem Release-Management einzurichten. Oder zumindest ein nächtlicher Build für jede Anwendung und ein Skript für eine automatisierte Clickonce-Bereitstellung. Sobald Sie diese Einstellung haben, ist die Anzahl der Änderungen nicht mehr wichtig.

1

Die Lösung besteht darin, den Windows-Installer mit einem Klick einmal zu verwenden. Hier

Use Both Windows Installer and ClickOnce

ist ein Auszug:

Das Grundkonzept ist hier ein Außen zu schaffen, basierend auf Windows Installer-Technologie installieren. Diese äußere Installation übernimmt die Verantwortung für die Überprüfung und Abfrage des Systems, bevor die App installiert wird. Es kann mit dem Benutzer interagieren und Konfigurationsinformationen sammeln und speichern, Gemeinsame Baugruppen auf dem GAC installieren, und so weiter. Bei der Deinstallation übernimmt es die Verantwortung für die Bereinigung von Ressourcen, die normalerweise von unserer Anwendung zurückgelassen wurden. Beispielsweise können Dateien deinstalliert, zur Laufzeit erstellte Protokolldateien gelöscht, Dienste deinstalliert, Assemblys aus dem GAC entfernt werden und so weiter.

Das Anschließen unserer ClickOnce-Anwendung an unsere Installation ist wieder eine ziemlich einfache Aufgabe. Da ClickOnce-Apps über eine Internet- oder Intranet-URL aktiviert werden können, können wir einfach eine Verknüpfung auf dem Zielsystem erstellen, die auf das Anwendungsmanifest verweist. Um dies zu erreichen, können wir Windows Installer verwenden, um während der Installation eine .url-Datei zu erstellen. Eine .url-Datei ist eine spezielle Art von Verknüpfung, die dem INI-Standardformat entspricht.

Verwandte Themen