Entwickler-Ecke

Programmierwerkzeuge - Problem mit PascalScript und Inno-Setup


MrKnogge - Mo 31.05.04 18:44
Titel: Problem mit PascalScript und Inno-Setup
Hallo !

Ich hab mein Problem schon in der Delphi-Praxis [http://www.delphipraxis.net/topic26545_problem+mit+pascalscript+und+innosetup.html&highlight=] gepostet, dort konnte mir allerdings bisher keiner weiterhelfen. Ich möchte die Setup-Exe bei der Installation in den Ordner meiner Installierten Anwendung kopieren.

Ich hab folgendes probiert:


Delphi-Quelltext
1:
2:
3:
4:
procedure DeInitializeSetup(); 
begin 
  FileCopy(ExpandConstant('{srcexe}'), ExpandConstant('{app}') + '\Setup.exe', false); 
end;


Die Pfad-Angaben stimmen, aber die Setupdatei wird nie kopiert (FileCopy gibt immer false zurück). Woran kann das liegen, auch wenn eine Datei geöffnet ist, so kann ich sie doch aber eigentlich kopieren :nixweiss:

Kennt einer von euch eine Lösung ?

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt.


Delete - Mo 31.05.04 22:18

Hey, du hast Recht. Man kann alles mögliche kopieren, nur die Setupdatei nicht.

Es könnte sein, dass das aus einem bestimmten Grund nicht geht. Allerdings weiß ich nicht, welcher Grund das sein könnte. Evtl. solltest du mal Kontakt zum Entwickler aufnehmen und das als Änderung für die nächste Version vorschlagen.


MrKnogge - Di 01.06.04 09:48

Jap, das werde ich wohl mal machen, ich hab es auch schon mit einer kopier-funktion in einer externen DLL versucht, geht ebenfalls nicht.

Was mir aufgefallen ist:
ParamStr(0) , normalerweise wird ParamStr ja unterstützt, aber bei 0 erhält man (zu mindest ich) ein Temp-Verzeichniss, kann ja sein, das es dadurch probleme gibt.


Zwar ist das etwas OT, aber:
Wie kann ich mit ihm Kontakt aufnehmen ?
Emails möchte er nicht (was wohl auch verständlich ist), und mit Newsgroups habe ich noch nie gearbeitet.


Delete - Di 01.06.04 11:37

Also, wenn das mit dem "paramstr(0)" stimmt (ich hab´s nicht probiert :oops:), dann wäre es IMHO erst recht kein Problem - wenn sich das Setup nämlich selbst ins Temp-Verzeichnis kopiert und von dort aus startet, dann wüsste ich nicht, was gegen das Kopieren vom Ursprungslaufwerk (s. "{srcexe}"-Konstante) sprechen sollte.

Zum Thema Kontakt: Hier [http://news.jrsoftware.org/read/] hast du ein Web-Interface für die Newsgroups. Einfach mal gucken, vielleicht hat ja doch schon einer das gleiche bemängelt. ;) Aber mit dem Mailprogramm deiner Wahl sollte es vielleicht einfacher gehen. Ansonsten hättest du hier noch den Feature Request [http://www.jrsoftware.org/isfeature.php]-Assistenten, wo du ggf. deinen Wunsch als Feature vorschlägst.

Oder 3. Möglichkeit: Du greifst dir mal den aktuellen Quellcode, schaust nach woran das liegt, dass sich das Setup selbst nicht kopieren lässt. Und dann hast du eine bessere Ausgangsbasis, weil du gezielt eine Änderung vorschlagen kannst. Das würde ich bspw. machen.


Delete - Di 01.06.04 11:49

Hah, vergiss es! Hier hast du eine Lösung:

Quelltext
1:
2:
[Files]
Source: "{srcexe}"; DestDir: "{app}"; Components: main; Flags: external;

Hat bei mir geklappt. Wenn dir das ausreicht, dann freut mich das. :) Manchmal denkt man aber auch zu kompliziert ...


MrKnogge - Di 01.06.04 11:58

wow, das ist genau das was ich wollte, Danke !