Timpa file yang diinstal dengan file di subfolder setup di Inno Setup
Saya baru-baru ini menemukan beberapa game PC lama untuk dimainkan di komputer Windows 10 64-bit saya. Saya telah melihat berbagai sumber online untuk membuat game berfungsi. Sekarang saya tertarik untuk membuat penginstal khusus untuk semua berbagai langkah yang diambil agar game berfungsi dengan benar. Saya berhasil membuat C&C Generals bekerja dengan pemasang khusus melalui Pengaturan Inno. Namun saya kurang memiliki keahlian setelah sedikit penelitian dan uji coba untuk melakukan hal berikut:
- Saya dapat menginstal perangkat lunak dan menggunakan patch resmi untuk memperbarui perangkat lunak yang diinstal.
- Saya tidak yakin bagaimana cara menambahkan skrip untuk menyalin file yang diubah dari subfolder instal untuk menimpa file yang diinstal di folder utama setelah pembaruan. Pembaruan tidak bekerja pada file yang dimodifikasi.
Contoh:
- Program dipasang ke
C:\Program Files (x86)\Programv1.exe
. - File sumber konfigurasi menyertakan subfolder
\modfiles
. - Ingin menimpa
Programv1.exe
pembaruan tambalan pos dengan\modfiles\Programv2.exe
Apakah ini masuk di bawah [Code]
bagian? Bisakah itu masuk di bawah [Run]
bagian dengan postinstall
bendera? Seperti perintah salin dan timpa sederhana sebagai langkah terakhir?
Terima kasih!
Jawaban
Ada banyak cara untuk mencapai ini.
Anda dapat menjalankan patch menggunakan
AfterInstall
parameter, bahkan sebelum "mod" diinstal. Lihat Pengaturan Inno: Instal penginstal lain dan jalankan sebelum melanjutkan penginstalan saya . Kemudian Anda dapat menginstal mod langsung ke folder instalasi (bukan ke subfolder):[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}
Gunakan
Run
entri untuk menyalin mod setelah Anda menginstal tambalan:[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""
Anda dapat mengkodekannya di Pascal Script. Lihat Menginstal versi file konfigurasi yang disesuaikan di Inno Setup setelah subinstaller (Firebird) selesai