Moin MOin,
ich arbeite gerade einen einem Setup-Projekt in MS Visual Studio 2003 und stehe vor einem Problem, dass ich auch nach langen hinundher-Probieren nicht lösen kann, da mir das Fachwissen fehlt. Aus dem Grunde wende ich mich an euch, in der Hoffnung mein Problem lösen zu können:
Anforderung:
Nach der Installation soll im Windows Ordner einen ini-Datei angelegt werden. Diese soll mit speziellen Einträgen gefüllt werden. Installation darf nur von Admin durchgeführt werden.
aktueller Stand:
Nach der Installation wird die .exe aufgerufen (custom action: commit). Diese versucht die ini-Datei anzulegen und zu befüllen. Läuft unter winXP. Unter windows 7 nicht!
Problem:
Nach der bedingten (Privileged) Installation wird die exe mit einem Parameter aufgerufen (commit samt Arguments und Condition Privileged). Wenn die .exe ausgeführt wird, besteht allerdings das Problem, dass diese nicht mit Admin-Rechten bestückt ist. Ursächliches Problem: Privileged gilt nur für den Aufruf. Somit kann leider die entsprechende ini-Datei nicht im windows-Verzeichnis angelegt werden.
Daher meine Frage:
besteht die Möglichkeit, dass das msi-Paket die von mir gewünschte ini im windows-Verzeichnis anlegt? muss nur angelegt werden... die bearbeitung der Datei selber schafft die Software wiederrum...
Vielen Dank im Vorraus für eure Antworten..
Peter
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

Custom Actions und ini-Dateien
Started by
peter_silie
, Apr 06 2011 11:37
2 replies to this topic
Posted 06 April 2011 - 14:25
so... ich habe mich nun dafür entschieden, die ini-Datei vom Installer im Windowsordner anzulegen.
Gibt es hier eine Eigenschaft, dass die Datei, falls bereits vorhanden nicht kopiert/installiert wird?
Danke
Peter
Gibt es hier eine Eigenschaft, dass die Datei, falls bereits vorhanden nicht kopiert/installiert wird?
Danke
Peter
Posted 08 April 2011 - 18:10
Installierst du die INI-Datei (als Datei) oder verwendest due die INI-Tabelle (ist die in Visual Studio verfügbar?) um die Einträge anzulegen?
Im ersten Fall kannst du angeben, dass vorhandene Dateien nie überschrieben werden sollen. Aber wenn der Anwender die Datei bearbeitet hat wird sie sowieso nicht überschrieben. Evtl. solltest du sie zusätzlich als "permanent" markieren, damit sie bei der Deinstalaltion (evtl. auch als Teil eines Major Upgrade) nicht gelöscht wird.
Im zweiten Fall (falls es in VS einen INI-Editor gibt) kann man angeben, dass der Eintrag nur angelegt werden soll, wenn er noch nicht existiert.
Dass es mit der EXE nicht geklappt hat, liegt vermutlich daran, dass VS 2003 das msidbCustomActionTypeNoImpersonate nicht gesetzt hat. In neueren Versionen ist das glaube ich behoben.
Im ersten Fall kannst du angeben, dass vorhandene Dateien nie überschrieben werden sollen. Aber wenn der Anwender die Datei bearbeitet hat wird sie sowieso nicht überschrieben. Evtl. solltest du sie zusätzlich als "permanent" markieren, damit sie bei der Deinstalaltion (evtl. auch als Teil eines Major Upgrade) nicht gelöscht wird.
Im zweiten Fall (falls es in VS einen INI-Editor gibt) kann man angeben, dass der Eintrag nur angelegt werden soll, wenn er noch nicht existiert.
Dass es mit der EXE nicht geklappt hat, liegt vermutlich daran, dass VS 2003 das msidbCustomActionTypeNoImpersonate nicht gesetzt hat. In neueren Versionen ist das glaube ich behoben.
Stefan Krüger
InstallSite.org twitter facebook