![]() |
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-) |
AW: Inno Setup, Dateiauswahl und kopieren
Solche Zusatzfunktionen schiebt man InnoSetup per DLL unter
|
AW: Inno Setup, Dateiauswahl und kopieren
Danke...8-)
Zitat:
Ich habe was mit einer Dateiauswahl im PDF gefunden. Das in Verbindung mit Pascal Code für das Kopieren sollte doch gehen... oder:gruebel: |
AW: Inno Setup, Dateiauswahl und kopieren
Zitat:
![]() Zitat:
Die gleiche DLL kannst du dann auch in deinem Programm verwenden, wenn jemand die Lizenz-Datei austauschen möchte. ;) |
AW: Inno Setup, Dateiauswahl und kopieren
Zitat:
Danke erstmal...:thumb: |
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:
Script:
function CopyLicenseFile(ProductTypeID: Integer; TargetFolder: PAnsiChar): Boolean; stdcall;
begin Result:= TSetupTools.CopyLicense(ProductTypeID, TargetFolder); end; exports CopyLicenseFile;
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 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz