2010-06-28 16 views
11

Ich habe ein Visual Studio-Installationsprojekt, und ich möchte, dass das Installationsprogramm einen bestimmten Ordner nur dann erstellt, wenn ein Kontrollkästchen in einem Formular "Checkboxes (A)", das ich zur Projektbenutzeroberfläche hinzugefügt habe, aktiviert ist. Der Name der Eigenschaft für das Kontrollkästchen ist CHECKBOXA1, aber ich habe keine Ahnung, was in die Condition-Eigenschaft des Ordners geschrieben werden soll, damit es nur erstellt wird, wenn das Kontrollkästchen aktiviert ist.Wie lege ich die Visual Studio Installer-Bedingungen fest?

Antwort

17

Im ‚Zustand‘ Eigenschaft für den Ordner, legen Sie die folgenden Schritte aus:

CHECKBOXA1 = 1

Dadurch wird sichergestellt, dass der Ordner nur, wenn CHECKBOXA1 geprüft wurde installiert.

EDIT: OK, ich habe herausgefunden, wie das geht, aber es ist irgendwie durcheinander. Eine weitere dieser seltsamen Eigenheiten des Visual Studio Installer.

Nehmen wir an, dass der Ordner, den wir installieren möchten, wenn CHECKBOXA1 aktiviert ist, 'Folder1' heißt, und wir werden eine Beispieldatei in Folder1 namens test.txt einfügen.

Zuerst müssen wir einen enthaltenden Ordner erstellen, der während der Installation niemals angezeigt wird, aber wir brauchen ihn, damit der Rest funktioniert. Erstellen Sie in Ihrem Dateisystem-Fenster einen Ordner (ich habe meinen 'Container' genannt). Die Condition-Eigenschaft sollte wie besprochen auf CHEKCBOXA1 = 1 festgelegt werden, und die DefaultLocation-Eigenschaft kann auf die gewünschte Stelle gesetzt werden, z. B. [ProgramFilesFolder] \ MyApplication.
Jetzt ist hier der wichtige Teil. Stellen Sie sicher, dass die Eigenschaft DefaultLocation für den Ordner 'Container' NICHT auf [ProgramFilesFolder] \ MyApplication \ Container festgelegt ist, da IMMER unabhängig von der Eigenschaft Condition ein Ordner 'Container' erstellt wird. OK, das erledigt den Containerordner. Wenn dies ordnungsgemäß durchgeführt wird, wird bei der Installation der Anwendung der Ordner "Container" nicht angezeigt.

Erstellen Sie jetzt im Ordner "Container" im Dateisystemfenster den gewünschten Ordner, in diesem Beispiel "Ordner1". Legen Sie seine Condition-Eigenschaft auf CHECKBOXA1 = 1 fest, und stellen Sie außerdem sicher, dass für alle darin enthaltenen Inhalte die Bedingung-Eigenschaft ebenfalls auf CHECKBOXA1 = 1 gesetzt ist.

Jetzt, wenn Sie Ihre Installation ausführen, wird Folder1 nur angezeigt, wenn CHECKBOXA1 aktiviert ist.

Ich verstehe nicht, warum der Container-Ordner benötigt wird, damit dies ordnungsgemäß funktioniert, aber es funktioniert, also verwende ich es.

+0

Ich habe das versucht. Es funktioniert nicht für mich, der Ordner wird immer erstellt. – SpaceghostAli

+0

Großartig, das funktioniert !!! – SpaceghostAli

Verwandte Themen