Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Inno Setup, Dateiauswahl und kopieren (https://www.delphipraxis.net/187476-inno-setup-dateiauswahl-und-kopieren.html)

haentschman 2. Dez 2015 12:46

Inno Setup, Dateiauswahl und kopieren
 
Hallo Alle... :P

Ich würde gern die Lizenzdatei, welche z.B. per Mail geliefert und irgendwo abgelegt ist, vom Setup in den vorgesehenen Zielordner kopieren lassen. Dazu wäre es notwendig bei angehakter Komponente "Lizenz kopieren o.ä." einen Opendialog zu öffnen, den Filenamen zwischenzuspeichern und am Ende z.B. einer Batch als Parameter zu übergeben.

Welche Alternativen hätte ich noch? Wie mache ich das mit dem Opendialog und dem Zwischenspeichern?

Danke...8-)

Sir Rufo 2. Dez 2015 12:49

AW: Inno Setup, Dateiauswahl und kopieren
 
Solche Zusatzfunktionen schiebt man InnoSetup per DLL unter

haentschman 2. Dez 2015 12:54

AW: Inno Setup, Dateiauswahl und kopieren
 
Danke...8-)
Zitat:

Solche Zusatzfunktionen schiebt man InnoSetup per DLL unter
...wenn jetzt in der Hilfe zu Inno oder im PDF ein Tipp stehen würde wie man das einbindet wäre das noch besser. :?

Ich habe was mit einer Dateiauswahl im PDF gefunden. Das in Verbindung mit Pascal Code für das Kopieren sollte doch gehen... oder:gruebel:

Sir Rufo 2. Dez 2015 13:06

AW: Inno Setup, Dateiauswahl und kopieren
 
Zitat:

Zitat von haentschman (Beitrag 1323227)
Danke...8-)
Zitat:

Solche Zusatzfunktionen schiebt man InnoSetup per DLL unter
...wenn jetzt in der Hilfe zu Inno oder im PDF ein Tipp stehen würde wie man das einbindet wäre das noch besser. :?

Jupp, so ein Eintrag Pascal Scripting: Using DLLs in der Hilfe wäre schön :stupid:

Zitat:

Zitat von haentschman (Beitrag 1323227)
Ich habe was mit einer Dateiauswahl im PDF gefunden. Das in Verbindung mit Pascal Code für das Kopieren sollte doch gehen... oder:gruebel:

Geht bestimmt auch irgendwie, aber mit der DLL kannst du die Lizenzdatei auch gleich noch vorab prüfen und erst dann kopieren lassen.

Die gleiche DLL kannst du dann auch in deinem Programm verwenden, wenn jemand die Lizenz-Datei austauschen möchte. ;)

haentschman 2. Dez 2015 13:35

AW: Inno Setup, Dateiauswahl und kopieren
 
Zitat:

Jupp, so ein Eintrag Pascal Scripting: Using DLLs in der Hilfe wäre schön
...wenn man auch in der InnoScriptStudio Hilfe guckt... :wall:

Danke erstmal...:thumb:

haentschman 3. Dez 2015 10:05

AW: Inno Setup, Dateiauswahl und kopieren
 
Guten Morgen...8-)

Ich habe mich für die DLL Variante entschieden. Da kann ich ggf. beliebig erweitern. Es gab hier und da ein paar Problemchen im Script welche aber zur Weiterbildung beigetragen haben. :P
Eines verstehe ich aber nicht:
Ich mußte den "String" Parameter als PAnsiChar übergeben. Bei PChar kam nur Müll in der DLL an.
PS: Die Typen waren in jeder Variante sowohl in der DLL als auch im Script identisch... Hat jemand eine Erklärung dafür?
DLL:
Delphi-Quellcode:
function CopyLicenseFile(ProductTypeID: Integer; TargetFolder: PAnsiChar): Boolean; stdcall;
begin
  Result:= TSetupTools.CopyLicense(ProductTypeID, TargetFolder);
end;

exports
  CopyLicenseFile;
Script:
Delphi-Quellcode:
function CopyLicenseFile(ProductTypeID: Integer; TargetFolder: PAnsiChar): Boolean;
external 'CopyLicenseFile@files:dSetupTools.dll stdcall setuponly';

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
  begin
    if IsComponentSelected('Server') and IsTaskSelected('License') then
    begin
      CopyLicenseFile(3, PAnsiChar(ExpandConstant('{userappdata}\DIMOWA\dVAServer\License')));
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 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