VStudio 2005: Setup/Deployment Projekt nachträglich Dateien hinzufügen



  • Hallo,

    ich bin dabei ein Setup Projekt zu erstellen, das für Kunden individuell
    angepasst werden soll. Es sollen dabei jeweils unterschiedliche/beliebige
    Dateien mit in den Application Folder kopiert werden.

    Ich habe schon mit den Custom Actions experimentiert, finde aber hierfür keine Lösung.

    Ich habe, ein VBScript als Custom Action angegeben, das dann eine Batch-Datei
    aufrufen soll, welche über xcopy . die Dateien aus dem Installationsverzeichnis,
    z.B. die Installations-CD, ins Ziel-Verzeichnis kopiert.

    Leider bin ich aber durch Visual Studio gezwungen, auch diese Custom Action Dateien in ein
    spezielles Zielverzeichnis zu kopieren, wobei ich aber mein Quell-Verzeichnis verliere.
    Und damit weiss die Custom Action auch nicht mehr, wo diese zusätzlichen Dateien sind.

    Die einzige Lösung, die ich mir noch vorstellen kann, ist, dass alle Dateien, die ich mit kopieren will,
    einen vorgegebenen Dateinamen haben und ich diese dann nachträglich in dem ungepackten Setup Projekt
    durch die neuen Dateien ersetze. Da spare ich mir dann sogar die Custom Action.

    Sollte ich aber weitere Dateien mit unterschiedlichen Namen haben, die auch noch dazu sollen,
    bin ich aufgeschmissen.

    Weiss jemend eine Möglichkeit, wie das trotzdem gehen könnte?

    Liebe Grüsse
    Helmut



  • Hallo,

    irgendwie hab ichs nun doch selbst gelöst.
    Eine genaue Erklärung hab ich leider nicht dafür, weil ich einfach
    nach Trail an Error vorgegangen bin, solange bis es ging.
    Aber was ich weiss/gemacht habe, wollte ich wenigstens noch berichten.
    Habs sonst nirgends im Netz oder sonst wo gefunden.

    Das Setup-Projekt selbst stellt nur die zu installierende exe-Datei
    mit den nötigen Merge Modulen bereit, daher hier unberücksichtigt.

    Der zweite Teil ist dann das mit der Custom Action.
    Für die Custom Action habe ich ein VBScript geschrieben, dem zwei
    Parameter übergeben werden müssen, der Pfad zu den beliebigen Dateien,
    die zusätzlich kopiert werden sollen und der Zielpfad. Da ich nur einen
    Parameter übergeben konnte, werden beide durch Trennzeichen getrennt
    damit übergeben und dann wieder aufgesplittet. Den Pfad zu meinen
    beliebigen Dateien habe ich noch durch ein fixes Unterverzeichnis auf
    meinem Installationsmedium ergänzt. (VBScript-Code ist trivial)

    Das VBScript selbst liegt irgendwo im Source-Pfad meines cpp-Projekts.
    Das habe ich dann im sog. "File System View" in einen "Custom Folder"
    (man kann in diesem View sog. "special Folder" hinzufügen) eingestellt
    und diesen "InstTools" benannt. Dieser Folder wird dann mit seinem Inhalt,
    dem VBScript, bei der Erstellung ins Release-Verzeichnis des Setup-Projekts
    kopiert. Man sollte dann dieses Release mit einem weiteren Ordner mit fixem
    Namen versehen. Dort kommen dann die beliebigen Dateien rein.

    Gerne hätte ich hier die Screenshots der Einstellungen hinterleg...
    aber wie?
    Ich versuchs schriftlich. (englisches VStudio)

    Custom Folder "InstTools":
    - DefaultLocation = [SOURCEDIR]
    - Property = INSTTOOLS

    Custom Action -> Commit-Folder mit Inhalt "InstallHelper.vbs":
    - CustomActionData = [INSTTOOLS]+[TARGETDIR]

    Das sind die einzigen Einträge, die ich in den jeweiligen Einstellungen
    gemacht habe.

    Ich hoffe, es hilft noch irgend jemand.

    Grüsse
    Helmut


Log in to reply