AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge InnoSetup: Kundenabhängige Installation
Thema durchsuchen
Ansicht
Themen-Optionen

InnoSetup: Kundenabhängige Installation

Ein Thema von Brainshock · begonnen am 18. Feb 2016 · letzter Beitrag vom 18. Feb 2016
Antwort Antwort
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#1

InnoSetup: Kundenabhängige Installation

  Alt 18. Feb 2016, 12:07
Hallo,

ich möchte mit InnoSetup eine Installation erstellen und stoße auf Probleme.

Ich versuche folgendes Szenario umzusetzen:

Der Kunde hat das Hauptprogramm installiert und dessen Konfigurationsdatei enthält das Kundenkürzel:
c:\ProgramData\<ConfigPath>\settings.ini
Code:
[Application]
Client=ABB
Mein Programm ist eine Erweiterung für das Hauptprogramm. Es muss, abhängig vom Kundenkürzel, Dateien installieren und ini-Einträge machen.

Meine Probleme:

Wie stelle ich es an, dass während der Installation die settings.ini vom Hauptprogramm ausgelesen wird und endsprechend des ausgelesenen Kundenkürzel die passenden Dateien installiert werden? Es muessen ja alle Dateien in die Setup.exe, aber nur abhängig vom Kunden passenden installiert werden. Hier kommen ja alle in die Setup.exe und werden installiert:

Code:
[Files]
; Exe
Source: "{#ProjectSourcePath}{#ProjectExeName}"; DestDir: "{app}"; Flags: ignoreversion; Components: program
; Certificate CA
Source: "{#ProjectSourceCertPath}{#ProjectDatabaseCACert}"; DestDir: "{#ProjectSettingsPath}"; Components: program
; Certificate ABA
Source: "{#ProjectSourceCertPath}{#ProjectDatabaseUserCertABA}"; DestDir: "{#ProjectSettingsPath}"; Components: program
Source: "{#ProjectSourceCertPath}{#ProjectDatabaseUserKeyABA}"; DestDir: "{#ProjectSettingsPath}"; Components: program
; Certificate ABB
Source: "{#ProjectSourceCertPath}{#ProjectDatabaseUserCertABB}"; DestDir: "{#ProjectSettingsPath}"; Components: program
Source: "{#ProjectSourceCertPath}{#ProjectDatabaseUserKeyABB}"; DestDir: "{#ProjectSettingsPath}"; Components: program
Das zweite Problem ist die Konfiguration (Ini) der Erweiterung. Äbhängig vom Kundenkürzel, müssen die Einträge geschrieben werden.

Code:
[INI]
Filename: "{#ProjectSettingsFileName}"; Section: "Database"; Key: "DBUser"; String: "{#ProjectDatabaseUser}"; Flags: uninsdeleteentry; Components: configuration\lan configuration\wan
Filename: "{#ProjectSettingsFileName}"; Section: "Database"; Key: "DBPass"; String: "{#ProjectDatabasePass}"; Flags: uninsdeleteentry; Components: configuration\lan configuration\wan
Filename: "{#ProjectSettingsFileName}"; Section: "Database"; Key: "DBProperties"; String: "{#ProjectDatabaseProperties}"; Flags: uninsdeleteentry; Components: configuration\lan configuration\wan
Ich hab irgendwie keinen Schimmer, wie ich das umsetzen soll.


Hoffentlich gibt es hier jemanden, der mir ein bisschen weiter helfen kann.


Gruß
Matthias
Matthias

Geändert von Brainshock (18. Feb 2016 um 16:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: InnoSetup: Kundenabhämgige Installation

  Alt 18. Feb 2016, 14:30
Du kannst das mit dem Check-Parameter umsetzen.

Im Script sieht das z.B. so aus:
Code:
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"; Check: MyProgCheck
Nun kannst du in der Code-Section eine Funktion anlegen, die hier in diesem Fall MyProgCheck hieße. Wenn die true zurück gibt, dann wird die Zeile ausgeführt, sonst nicht.
In der Funktion müsstet Du dann die Ini auslesen und auswerten.
Jens
  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#3

AW: InnoSetup: Kundenabhämgige Installation

  Alt 18. Feb 2016, 15:30
Genial, danke. Das hilft mir schon enorm weiter.
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz