InnoSetup 打包文件夹的解决方案

假装没事ソ 提交于 2020-03-17 16:40:59

某厂面试归来,发现自己落伍了!>>>

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 recursesubdirs
createallsubdirs
Source: "E:\zhenghui\DataProc-HGV1.8\help\*";  DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs
createallsubdirs
 
Source: "E:\zhenghui\DataProc-HGV1.8\dlls\*";  DestDir: "{app}\dlls\"; Flags: ignoreversion recursesubdirs
createallsubdirs
Source: "E:\zhenghui\DataProc-HGV1.8\help\*";  DestDir: "{app}\help\"; Flags: ignoreversion recursesubdirs
createallsubdirs
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!