Entwickler-Ecke

Sonstiges (.NET) - Kopierte Dateien eines Installer Projektes während der Insta


CBT - Mo 29.11.10 10:41
Titel: Kopierte Dateien eines Installer Projektes während der Insta
Guten Morgen zusammen,

nachdem ich seit geraumer Zeit hier im Board Beiträge nur lese, muss ich nun doch mal selbst einen Beitrag verfassen und hoffe somit auf eure Hilfe ^^ Es geht um folgendes :

Ich habe einem vorhanden Projekt ein Setup Projekt und eine entsprechende Installerklasse hinzugefügt. In dieser Installerklasse habe ich bestimmte Funktionen welche nach dem Setupkopiervorgang aufgerufen werden sollen. Der Aufruf muss auch nach dem eigentlich Commit erfolgen da die Funktionen z.B. Dateien abändern welche erst im vorherigen Schritt über das Setup kopiert wurden.

Die Funktionen an sich funktionieren, allerdings bekomme ich es nicht hin dass die Funktionen erst nach dem eigentlichen Kopiervorgang gestartet werden. Es kommt immer die Meldung dass auf die entsprechende Datei nicht zugegriffen werden kann.

Ich hab mir schon etliche MSDN Teile angeschaut und diverse Funktionen (AfterInstall, Committed, ...) ausprobiert aber mittlerweile stehe ich hier etwas auf dem Schlauch. Bin über jede Hilfe dankbar ^^


Delete - Mo 29.11.10 10:47

Tja, die entscheidenden Teile hast du leider unterschlagen: Wie kopierst du und wie greifst du auf die Dateien wieder zu?


CBT - Mo 29.11.10 10:59

Kopiert werden die Dateien über die Default Dateisystemauswahl des Setup Projektes ... Zugegriffen wird über den Zielphfad der Dateien (Das Setup hat keine Zielordnerauswahl, daher ist das Ziel vorher immer bekannt)


Delete - Mo 29.11.10 11:01

Ich dachte eigentlich an Code.


CBT - Mo 29.11.10 11:16

Wie gesagt : Die Dateien welche kopiert werden sollen, werden einfach über das Dateiauswahldialogs des Setupprojektes ausgewählt. Dazu gibt es also keinen Code ^^ Angesprochen werden diese in meinem Fall über ein normales ReadAllLines :


C#-Quelltext
1:
bdrconfig = File.ReadAllLines(@"C:\Users\x\Desktop\bdr.config");                    


Aber der Dateizugriff scheitert schon mit einer FileNotFound Exception, da an der Stelle an welcher ich auf die Dateien zugreifen will das Setup diese noch nicht freigegeben hat. Gibt es die Möglichkeit ein Commit manuell abzufeuern oder das irgendwie zu handeln ?


Delete - Mo 29.11.10 11:22

Ach so, du verwendest einen fertigen Installer. Dein erster Beitrag klang so, als wenn du den Installer selber schreiben würdest. Was sagt die Hilfe? Was steht auf der Herstellerseite? was sagt der Support?


CBT - Mo 29.11.10 11:39

Sorry, dann kam das falsch rüber ... Also ich verwende den Installer welcher auch im Visual Studio integriert ist. Dieses Installer Projekt. Codieren kann man da ja in begrenzter Form über die integrierte Installerclass. Dementsprechend hab ich mich auch schon auf der MSDN Seite umgeschaut aber nicht wirklich was hilfreiches gefunden. Hatte halt gedacht dass vielleicht hier auch schon jemand mit dem VS Installer Projekt was zu tun gehabt hat.