Inno Setup 打包工具总结(转)

简介: 最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己 1.打包文件夹 打包文件按照向导来一般没什么问题,但文件夹就不一样了。向导生成的打包文件夹的代码如下: [plain] view plaincopy Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs   它解压时直接把XX目录下的所以文件拷贝到安装目录下,而没有生成XX目录,程序如果要引用XX目录下的文件就会出现错误。

最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己

1.打包文件夹

打包文件按照向导来一般没什么问题,但文件夹就不一样了。向导生成的打包文件夹的代码如下:

[plain] view plain copy
  1. Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs  


它解压时直接把XX目录下的所以文件拷贝到安装目录下,而没有生成XX目录,程序如果要引用XX目录下的文件就会出现错误。

我改成这样就不会有事了(也许向导可以生成,我还不清楚)

[plain] view plain copy
  1. Source: "D:MyProject/XX/*"; DestDir: "{app}/XX"; Flags: ignoreversion recursesubdirs createallsubdirs  


2.桌面图标

向导默认生成的代码不会给你的应用程序加上图标,同时也不会在开始程序菜单里加上卸载程序的快捷方式

[plain] view plain copy
  1. Name: "{group}/XX"; Filename: "{app}/XX.exe"   
  2. Name: "{group}/{cm:UninstallProgram,XX}"; Filename: "{uninstallexe}"   
  3. Name: "{commondesktop}/XX"; Filename: "{app}/XX.exe";IconFileName:"{app}/res/XX.ico"; Tasks: desktopicon  


 

在Icons下添加这些代码就可以做到。

3.安装程序时要注册某些ocx控件或DLL

我自己的做法是些一个bat脚本来注册ocx或者dll,放在自动Run下,在程序运行之前运行它。当然Inno setup里面也有这样的脚本代码

4.如果程序运行需要一些组件支持,比如.NetFrameWork,在解压时就要检测系统是否安装了.NetFrameWork

[plain] view plain copy
    1. [code]   
    2. function CheckDotNet4_0():boolean;   
    3. begin   
    4. Result:=not RegKeyExists(HKLM, 'SOFTWARE/Microsoft/.NETFramework/policy/v4.0');   
    5. end;   
    6.   
    7. function InitializeSetup(): Boolean;   
    8. var Path:string;   
    9. ResultCode: Integer;   
    10. begin   
    11. if CheckDotNet4_0() then   
    12. begin   
    13. ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');   
    14. Exec(ExpandConstant('{tmp}/dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);   
    15. end   
    16. end;   
目录
相关文章
|
编译器 C# Windows
Inno Setup制作安装包教程
Inno Setup制作安装包教程
673 0
|
Windows
Inno Setup 插件 CallbackCtrl V1.1 (回调函数插件)
原文 http://restools.hanzify.org/article.asp?id=101 VC 重现 InnoCallback 的功能。Version 1.1修正在某些 Windows 平台(例如: Windows XP SP3)出现不能正常运行的问题。
1468 0
制作部署安装包:Inno Setup
原文:制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发、部署有提到用VS开发一个简单的VSTO程序。打包C/S程序,我首先想到的是VS里自带的Setup Project。
1308 0
一个比较完整的Inno Setup 安装脚本
原文:一个比较完整的Inno Setup 安装脚本 增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [Setup]; 注: AppId的值为单独标识该应用程序。; 不要为其他安装程序使用相同的AppId值。
1502 0
|
C语言
Inno setup中定制安装路径
原文:Inno setup中定制安装路径 我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法。 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function MyDestDir(SubDir:String):...
1751 0
Inno setup定制安装界面
原文:Inno setup定制安装界面 Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我的界面。
2331 0