Ich habe eine ClickOnce Anwendung, die alle alten Versionen auf meiner Festplatte verlassen. Es handelt sich um eine interne Unternehmensanwendung, die häufig aktualisiert wird. Dies ist ein Desaster für das schnelle Aufblasen unserer Backup-Größe.ClickOnce Deployment ist mehrere Versionen (ja, mehr als zwei)
Gemäß der Dokumentation und anderen Stack Überlauf Fragen, es soll nur die aktuellen und früheren Versionen auf der Festplatte verlassen. Jedes Mal, wenn ich das Projekt bereitstellen und einen Client aktualisieren, erhalte ich jedoch eine weitere Kopie aller EXE-, DLL- und Datendateien. Ich mache keinerlei Änderungen an der Anwendung, sondern schiebe die Bereitstellung in Visual Studio einfach weiter.
Wie behebe ich dieses Problem?
Das Problem scheint auf Windows 7 und Windows XP sowie 64-Bit- und 32-Bit-Windows zu passieren.
Ich habe ein diff des Ordners durchgeführt, wo die Version installiert ist und die folgenden Dateien sind unterschiedlich:
MyApp.exe.manifest
MyApp.exe.cdf-ms
MyDll1.cdf-ms
MyDll2.cdf-ms
keine aktuellen ausführbaren Dateien unterschiedlich sind, noch die MyApp.manifest
, MyDll1.manifest
usw.
Wie wäre es mit einer Alternative? Ist es sicher, zur Laufzeit nach anderen Ordnern zu suchen, die meine Anwendung enthalten, und diese zu löschen? Wird das irgendwas brechen?
Ist ClickOnce nur eine scheinbar mysteriöse Black Box?
Um klar zu sein, meinen Sie, dass alle alten Versionen auf dem * Client * Rechner gespeichert bleiben? Alle Versionen sollten so lange im * Bereitstellungsverzeichnis * verbleiben, bis Sie sie löschen, da Sie möglicherweise jeweils unterschiedliche Benutzer in verschiedenen Versionen haben. – Jay
Ja, auf dem Client-Computer, in den Benutzerordnern begraben – Clyde
Macht es einen Unterschied, wenn Sie in Ihren Veröffentlichungseinstellungen eine mindestens erforderliche Versionsnummer angeben? – Jay