1. 程式人生 > >InnoSetup 打包資料夾的解決方案

InnoSetup 打包資料夾的解決方案

http://blog.csdn.net/qq_20161893/article/details/72886994

Q:我用inno setup 打包安裝程式時,每次在新增資料夾時是新增起了,可是總在用打包好的安裝程式時,每次都會把原來新增的資料夾下的檔案直接裝在應用程式的資料夾裡,要怎麼才能改成比如說打包C:\123\12資料夾下的檔案,在新增的時候就新增12資料夾,可是安裝程式打好凶後,12資料夾下的檔案直接被安裝到應用程式目錄了,怎麼才能改成原來的呀?A:第一,你可以新增資料夾,將整個 12 資料夾新增進去而不是新增 12 中的檔案。 第二,你將安裝程式指令碼稍作修改,例如: Source: "C:\123\12\*"; DestDir: "{app}";
 改為: Source: "C:\123\12\*"; DestDir: "{app}\12"; 我就不信還能裝到安裝資料夾。 Q:求教,如何在inno setup裡新增子資料夾而包括主資料夾A:Source: "原資料夾\*.*"; DestDir: "C:\目標資料夾\子資料夾"; Flags: recursesubdirs  注意後面的Flags: recursesubdirs只有這樣才能包括子資料夾。 您說的主資料夾不知道是什麼意思,一般通過修改“原資料夾”和“目標資料夾”及“子資料夾”可以解決。Q:用Inno Setup 編譯器打包VC程式時,如何使資料夾包含其中,如在安裝後,在安裝路徑下資原始檔仍放在res資料夾中?
我試著點選新增資料夾,結果是包含了資料夾裡的檔案,使裡面的檔案放在安裝路徑下.
A:
在[Files]段下,新增下面程式碼
Source: "執行檔案.exe"; DestDir: "{app}"; Flags: igNoreversion
Source: "要打包的目錄\*"; DestDir: "{app}\安裝後釋放檔案的目錄\"; Flags: igNoreversion recursesubdirs createallsubdirs
--------------------------------
說明:
如果“要打包的目錄”和"安裝後釋放檔案的目錄"一樣的話,就達到了你的要求。
這樣寫:
[Files]
Source: "res\*"; DestDir: "{app}\res\"; Flags: igNoreversion recursesubdirs createallsubdirs我的例項:
Source: "E:\zhenghui\DataProc-HGV1.8\dlls\*";  DestDir: "{app}\dlls"; Flags: ignoreversion recursesubdirscreateallsubdirs
Source: "E:\zhenghui\DataProc-HGV1.8\help\*";  DestDir: "{app}\help"; Flags: ignoreversion recursesubdirscreateallsubdirsSource: "E:\zhenghui\DataProc-HGV1.8\dlls\*";  DestDir: "{app}\dlls\"; Flags: ignoreversion recursesubdirscreateallsubdirs
Source: "E:\zhenghui\DataProc-HGV1.8\help\*";  DestDir: "{app}\help\"; Flags: ignoreversion recursesubdirscreateallsubdirs