2013-05-20 39 views
4

我想知道如何添加額外的setup.exe並使用innosetup執行額外的exe文件與我的主exe文件。Innosetup添加多個exe文件並在主設置內執行

因爲我在使用innosetup的新功能,所以請在最近3天嘗試此操作。

謝謝。

+1

你會包括那些二進制文件到['[文件]'](http://www.jrsoftware.org/ishelp/index.php?topic=filessection)部分,然後從運行它們的['[運行]'](http://www.jrsoftware.org/ishelp/index.php?topic=runsection)部分。 – TLama

回答

8

最簡單的方法是在[Run]部分中調用您額外的EXE。所有的EXE文件都應該添加到[Files]部分的主要設置中。您可以將它們複製到TEMP文件夾進行安裝,或將它們複製到您的應用程序文件夾(如果需要)。

[Files] 
Source: "d:\ADDS\*"; DestDir: "{tmp}"; 
Flags: nocompression createallsubdirs recursesubdirs deleteafterinstall 
//contains DirectX in directx folder, VC Redist 2010 x86 and VC Redist 2010 x64 

[Run] 
Filename: "{tmp}\directx\DXSETUP.exe"; Parameters: "/silent"; 
Flags: waituntilterminated skipifdoesntexist; 
StatusMsg: "Microsoft DirectX installation. Please wait..." 
Filename: "{tmp}\vcredist_x86_2010.exe"; Parameters: "/Q"; 
Flags: waituntilterminated skipifdoesntexist; 
StatusMsg: "Microsoft Visual C++ 2010 (x86) installation. Please Wait..." 
Filename: "{tmp}\vcredist_x64_2010.exe"; Parameters: "/Q"; 
Flags: waituntilterminated skipifdoesntexist; 
StatusMsg: "Microsoft Visual C++ 2010 (x64) installation. Please wait..."; Check: IsWin64 
+0

這個答案似乎更準確的問題,因爲它使用臨時目錄作爲文件的目的地,然後執行。如果這是一個不需要複製到目標系統的設置,那更好。 [+1對兩個答案雖然:-)] – TLama

+0

謝謝。你的解決方案完美運作 – reapen

+0

當文件來自Post編譯時,是否可以在[run]中運行。 [_ISToolPostCompile] 名稱:D:\ Cleanup.exe;參數: 名稱:D:\ WinRarFullVersion.exe;參數: 名稱:d:\ Setup \ *;參數: – reapen

3

Inno沒有「main exe」的概念。如果你想包含兩個可執行文件,那麼你只需要創建多個[Files]條目。 安裝完成後,您可以只有多個[Run]條目。

[Files] 
;Console 
Source: ..\Console.exe; DestDir: {app}; Flags: ignoreversion 
#ifdef debug 
Source: ..\Console.map; DestDir: {app} 
Source: ..\Console.pdb; DestDir: {app} 
#endif 
Source: ..\Console.chm; DestDir: {app} 

;Node 
Source: ..\Node.exe; DestDir: {app}; Flags: ignoreversion 
#ifdef debug 
Source: ..\Node.map; DestDir: {app} 
Source: ..\Node.pdb; DestDir: {app} 
#endif 
+0

謝謝你的有價值的信息deanna。 – reapen