Überschreiben Sie installierte Dateien mit Dateien im Setup-Unterordner in Inno Setup
Ich habe kürzlich einige alte PC-Spiele gefunden, die auf meinem Windows 10 64-Bit-Computer gespielt werden können. Ich habe mir verschiedene Online-Quellen angesehen, um die Spiele zum Laufen zu bringen. Jetzt bin ich daran interessiert, ein benutzerdefiniertes Installationsprogramm für all die verschiedenen Schritte zu erstellen, die ausgeführt werden, damit die Spiele ordnungsgemäß funktionieren. Es ist mir gelungen, C & C Generals über Inno Setup dazu zu bringen, mit einem benutzerdefinierten Installationsprogramm zusammenzuarbeiten. Nach einigem Nachforschen und Ausprobieren fehlt mir jedoch das Fachwissen, um Folgendes zu tun:
- Ich kann die Software installieren und den offiziellen Patch verwenden, um die installierte Software zu aktualisieren.
- Ich bin nicht sicher, wie ich ein Skript hinzufügen soll, um geänderte Dateien aus dem Unterordner install zu kopieren und die installierten Dateien nach dem Update im Hauptordner zu überschreiben. Das Update funktioniert nicht mit den geänderten Dateien.
Beispiel:
- Programm installiert auf
C:\Program Files (x86)\Programv1.exe
. - Setup-Quelldateien enthalten einen Unterordner
\modfiles
. - Möchte das
Programv1.exe
Post-Patch-Update mit überschreiben\modfiles\Programv2.exe
Geht das unter den [Code]
Abschnitt? Kann es [Run]
mit einer postinstall
Flagge unter den Abschnitt gehen ? Wie ein einfacher Befehl zum Kopieren und Überschreiben als letzter Schritt?
Vielen Dank!
Antworten
Es gibt viele Möglichkeiten, dies zu erreichen.
Sie können den Patch mit dem
AfterInstall
Parameter ausführen , noch bevor der "Mod" installiert ist. Siehe Inno Setup: Installieren Sie ein anderes Installationsprogramm und führen Sie es aus, bevor Sie mit der Installation fortfahren . Dann kannst du den Mod direkt im Installationsordner installieren (nicht im Unterordner):[Files] ; Install original game Source: C:\source\TheGame\*; Dest: {app} ; Run patch Source: C:\patch\PatchTheGame.exe; Dest: {tmp}; AfterInstall: RunPatch ; Install mod Source: C:\mod\Program.exe; Dest: {app}
Verwenden Sie den
Run
Eintrag, um den Mod nach der Installation des Patches zu kopieren:[Files] ; Install original game Source: C:\source\TheGame\*; Dest: {app} ; Extract the patch somewhere Source: C:\patch\PatchTheGame.exe; Dest: {tmp} ; Extract the mod somewhere Source: C:\mod\Program.exe; Dest: {tmp} [Run] Filename: {tmp}\PatchTheGame.exe Filename: {cmd}; Parameters: /C copy ""{tmp}\Program.exe"" ""{app}\Program.exe""
Sie können es in Pascal Script codieren. Siehe Installieren der angepassten Version der Konfigurationsdatei in Inno Setup nach Abschluss des Subinstallers (Firebird)