1

Ich verwende die Erweiterung Visual Visual Studio 2017 Installer Projects von Microsoft-Team, um ein MSI-Installationsprogramm für eine Visual Studio Desktop-Anwendung zu erstellen. Ich habe erfolgreich ein SetUp-Projekt erstellt und alle erforderlichen Eigenschaften in dem File System Editor des SetUp-Projekts (Short Cut zu dekstop, Programmdateimenü usw.) festgelegt. Das Installationsprogramm muss eine XML-Datei im Ordner "Öffentliche Dokumente" auf dem Zielcomputer bereitstellen. Frage: Wie wird der öffentliche Dokumentordner auf dem Computer des Benutzers ausgewählt, auf dem der Installer die App installiert?Visual Studio-Setup-Projekt zum Zielordner für öffentliche Dokumente

Hintergrund: Dieses Installationsprogramm wurde für ein MS Office VSTO Add-In for WORD entwickelt, und die Bereitstellung erfolgt über Windows Installer (nicht über ClickOnce). Und gemäß einem Lizenzmanagementsystem muss ihre XML-Konfigurationsdatei in dem Anwendungsverzeichnis bereitgestellt werden, das nicht das Verzeichnis unseres Add-Ins ist, sondern das Verzeichnis der Anwendung, die das Add-In lädt. Ein empfohlener Speicherort für die XML-Datei wäre in diesem Fall ein öffentlicher Ordner, z. B. der Ordner "Öffentliche Dokumente" unter Vista und höhere Versionen von Windows.

Antwort

0

Ich habe gerade durch die Benutzeroberfläche von VS2017 Installer-Projekten geklickt. Ich sehe keine Möglichkeit, den Ordner für öffentliche Dokumente anzugeben. Sie können einen benutzerdefinierten Ordner hinzufügen (Rechtsklick auf "Dateisystem"> Speziellen Ordner hinzufügen> Benutzerdefinierter Ordner), aber er ist auf predefined properties of Windows Installer beschränkt, der den öffentlichen Dokumentenordner nicht enthält.

Wenn Sie nur in einen allgemeinen Ordner installieren müssen, aber nicht den Ordner für öffentliche Dokumente benötigen, können Sie alternativ CommonAppDataFolder verwenden. Geben Sie das für DefaultLocation des benutzerdefinierten Ordners an.

Sonst könnten Sie möglicherweise eine benutzerdefinierte Aktion schreiben, die SHGetKnownFolderPath(FOLDERID_PublicDocuments,...) aufruft und das Ergebnis einer Eigenschaft zuweist. Geben Sie dann diese Eigenschaft für DefaultLocation des benutzerdefinierten Ordners an. Hier ist ein tutorial for writing a VB custom action für Installer-Projekte.

Obwohl ich stark vorschlagen, Installer-Projekte insgesamt loszuwerden und stattdessen die WiX toolset verwenden, die viel mehr Flexibilität bietet. Es kommt mit einer netten Visual Studio-Erweiterung auch. WiX definiert bereits die Eigenschaft WIX_DIR_COMMON_DOCUMENTS, die mit dem Pfad des öffentlichen Dokumentordners initialisiert wird. Example.

+0

Nachdem ich Ihre Antwort gelesen hatte, las ich Ihre [link] (https://manfredlange.blogspot.de/2013/05/wix-installing-files-to-public.html) und folgte dann [diese] (http : //stackoverflow.com/a/17410330/1232087) posten und [this] (http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/add_a_file.html) um das Problem lösen zu können. Vielen Dank, dass Sie bis zum Klicken auf die Benutzeroberfläche Ihres VS2017-Installationsprogramms gegangen sind, um zu erfahren, wie Sie helfen können. Sehr geschätzt. Ich habe die neueste Version WiX 3.11 RC verwendet. – nam

Verwandte Themen