2016-05-06 22 views
1

Ich habe Winforms-Programm erstellt und jetzt möchte ich veröffentlichen (Build? Deploy?) Es. Bisher habe ich es mit ClickOnce veröffentlicht und es installiert und hier ist das Ergebnis: enter image description here Ist es möglich, alle diese Dateien mit Ausnahme der ausführbaren Datei in anderen Ordner (kann Ressourcen, bin oder was auch immer)? Das einfache Verschieben der Dateien wirft einen Fehler auf, weil ich glaube, dass die ausführbare Datei keinen Zugriff darauf hat, da der neue Pfad nicht definiert ist. Bisher waren meine Ideen, entweder eine einfache Verknüpfung zu der .exe zu erstellen oder eine neue ausführbare Datei zu erstellen, die die Haupt-EXE-Datei ausführt, die sich in einem anderen Ordner befindet, aber das ist nicht genau das, wonach ich suche.Publishing Winforms App

Ich verwende Visual Studio 2015 Community. Ich stieß auch auf das Programm Install Shield, mit dem ich ein benutzerdefiniertes Setup erstellen konnte, aber ich konnte keine Informationen zu meinem Problem finden.

Bearbeiten. So sieht meine mit ClickOnce veröffentlichte Datei aus:

+0

Ist dies Ihr Build-Verzeichnis? 'ClickOnce' Publikationsverzeichnisse sind nicht überladen. – adv12

+0

Ja, genau das habe ich von ClickOnce bekommen. – JanRad

+0

Sie meinen, dass Sie auf der Registerkarte "Veröffentlichen" der Eigenschaftenseite des Hauptprojekts auf die Schaltfläche "Jetzt veröffentlichen" geklickt haben und diese in das Verzeichnis "Publishing Location" verschoben wurde? Oder meinst du, du hast einen Build erstellt, dann im Unterverzeichnis "bin/Release" oder "bin/Debug" deines Projektverzeichnisses gesucht und das hast du gesehen? – adv12

Antwort

1

Ja, Sie können DLLs in einem Unterordner mit ClickOnce haben, aber Sie können nicht einfach die Dateien verschieben. Dies liegt daran, dass ClickOnce-Anwendungen .manifest-Dateien verwenden, die JEDE Datei beschreiben, die bereitgestellt wird. Wenn das Manifest nicht mit dem Bereitstellungsverzeichnis übereinstimmt, wird ClickOnce ausflippen. Es ist ein Sicherheitsproblem.

Ich weiß keine Möglichkeit, dies automatisch über die Publish-Oberfläche von Visual Studio zu tun, aber nachdem Sie Ihre Anwendung erstellen, schauen Sie in die Mage.exe und MageUI.exe-Tools, damit Sie Ihre Manifeste bearbeiten können, um die Dateien einzuschließen Unterordner.