Inno Setup 3.0.7
Copyright (C) 1997-2003 Jordan Russell. All rights reserved.
Portions Copyright (C) 2000-2002 Martijn Laan. All rights reserved.
For conditions of distribution and use, see LICENSE.TXT.
Source code README
1. Intro
========
I compile all of Inno Setup's projects with Delphi 2.0 (the original 2.0;
I never got the 2.01 update), with the exception of Compil32, which is
compiled with Delphi 3.02 (for the better foreign character set support).
I use these old versions of Delphi because their VCLs have a significantly
smaller code size footprint than the later versions. If you do not have
access to these old versions of Delphi, you should be able to compile the
projects on later versions, however complete compatibility is NOT
guaranteed. I try to make Inno Setup compilable on the later versions when
possible, but I do not have time to test every change on every Delphi
version.
If you intend to view or modify Inno Setup's forms, you must install 7
components that Inno Setup uses. The components are named BeveledLabel,
GroupRadioButton, NewBevel, NewCheckListBox, NewProgressBar, NewFCtrl, and
RichEditViewer, and are located in the Components directory. If you only
want to edit code, then you may skip installation of the components, and
choose "Cancel" when Delphi tells you a class can't be found.
If you want to compile the CompForm unit, you must also have the SynEdit
component suite installed. To download SynEdit, visit:
http://synedit.sourceforge.net/
At the time of this writing, I am using SynEdit version 1.1.
2. Overview
===========
Inno Setup consists of eight projects:
Compil32.dpr - This is the GUI front-end for the compiler. Compil32 does not
do the actual compilation itself; it relegates it to ISCmplr.dll. If the
ISCmplr project is changed, you normally don't need to recompile Compil32
since it's essentially a text editor, and is not affected by internal
changes to the compiler.
Note: This is the only project that I compile under Delphi 3 (3.02 to be
exact). The rest of the projects are compiled under Delphi 2.0.
ISCC.dpr - This is the command-line front-end to the compiler. Like
Compil32, it depends on ISCmplr.dll to do the actual compiling.
ISCmplr.dpr - This is a DLL which is loaded by Compil32 and ISCC to compile
scripts. The actual compiler code is in Compile.pas. See CompInt.pas for the
various structures and function declarations used to interface to the DLL.
Setup.dpr - This is the actual "Setup" program. It displays the wizard, and
performs all installation-related tasks.
SetupLdr.dpr - This is the "setup loader." It self-extracts a compressed
Setup program into the user's TEMP directory and runs it from there. It also
displays the "This will install..." message box.
Uninst.dpr - This is the uninstaller. Keep in mind that installations can
append to other installations' uninstall logs, so you should not make
changes to the internal file formats.
RegSvr.dpr - This program is compiled into installations which use the
"restartreplace" flag in the [Files] section along with "regserver" or
"regtypelib". It is used to register DLL/OCXes and type libraries on the
next reboot. This project rarely, if ever, needs to be recompiled.
How do the projects link together?
- ISCmplr, Setup, SetupLdr, and Uninst share the unit Struct.pas. This unit
contains various data structures and constants shared by the projects. If
Struct.pas is changed, you usually will need to recompile ISCmplr, Setup,
and SetupLdr so that everything is in synch. Uninst may also need to be
recompiled in some cases.
- Setup and Uninst share the unit Undo.pas. The Undo unit performs all
uninstallation tasks. If Undo is changed, normally both Setup and Uninst
need to be recompiled.
- There are more units which are shared between projects. Search the 'uses'
clauses of the projects and units if you aren't sure if a project uses a
particular unit.
3. Delphi 2.0x users ONLY
=========================
Before you can successfully compile the projects in Delphi 2.0, you must
do two things:
- Install the latest version of SYSTEM.DCU if you haven't already done so.
It can be downloaded from Inprise's site at:
http://www.borland.com/devsupport/delphi/downloads/index.html
Look for "System.zip" in the "Delphi 2 Items" section.
If you do not do this, you will probably get an "I/O Error" message
when trying to run the projects.
- If the files SHLOBJ.DCU and REGSTR.DCU are missing from your Delphi\Lib
directory, download them here:
http://www.jrsoftware.org/files/delphi200units.zip
4. Source code tips
===================
- If you modify one of these project's source code: Setup, SetupLdr, RegSvr,
or Uninst, and want to be able to compile your installations with the new
code, you'll need to copy the new EXE file(s) to the Setup Compiler
directory under the extension .E32.
- When debugging the SETUP project you should set UseSetupLdr=0 in your
script, and copy the resulting SETUP.0, SETUP-1.BIN, and SETUP.MSG files to
the source code directory. This way you can simulate an actual installation
while running under the Delphi debugger.
- When I release new versions, you can tell which source code files have
changed by checking their date/time stamps. You can then use a file
comparison utility such as DOS's "FC" or Microsoft's WinDiff to show the
differences between an old version of a file and a new version.
- All of the forms in the Setup project, with the exception of Main.dfm, have
Scaled set to False. This is because they dynamically scale themselves at
run-time by calling a function named SetFormFont.
- A note for those curious: The Setup Compiler creates single EXE Setups by
first creating the SETUP.EXE as usual, then concatenating the SETUP.0 and
SETUP-1.BIN to the end of the SETUP.EXE, and finally modifying an internal
data block in SETUP.EXE so it knows it's in "single EXE" form.
- Starting with the 32-bit version of Inno Setup 1.12.7, I am using my own
"StripReloc" utility to decrease the size of the .EXE and .E32 files.
To download StripReloc, go to:
http://www.jrsoftware.org/striprlc.php
没有合适的资源?快使用搜索试试~ 我知道了~
InnoSetup安装制作软件源码
共118个文件
pas:41个
txt:12个
res:11个
3星 · 超过75%的资源 需积分: 50 193 下载量 188 浏览量
2003-05-10
00:00:00
上传
评论 3
收藏 335KB ZIP 举报
温馨提示
Inno Setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后起之秀。
资源推荐
资源详情
资源评论
收起资源包目录
InnoSetup安装制作软件源码 (118个子文件)
WizModernImage2.bmp 26KB
WizModernImage.bmp 26KB
WizModernSmallImage2.bmp 2KB
WizModernSmallImage.bmp 2KB
CompWizard.dfm 37KB
CompForm.dfm 12KB
Wizard.dfm 7KB
CompStartup.dfm 2KB
CompOptions.dfm 2KB
CompWizardFile.dfm 2KB
NewDisk.dfm 951B
Main.dfm 327B
isbzip.dll 36KB
isbunzip.dll 32KB
ISCC.dof 1KB
Uninst.dof 1KB
ISCmplr.dof 1KB
Compil32.dof 1KB
Setup.dof 567B
RegSvr.dof 491B
SetupLdr.dof 491B
Uninst.dpr 15KB
SetupLdr.dpr 9KB
ISCC.dpr 4KB
Compil32.dpr 4KB
RegSvr.dpr 4KB
Setup.dpr 2KB
ISCmplr.dpr 582B
MyProg.exe 4KB
UninstProgressDlg.h 921B
UninstSharedFileDlg.h 834B
MyProg.hlp 6KB
whatsnew.htm 15KB
Version.inc 643B
Default.isl 15KB
setup.iss 5KB
Sample3.iss 1KB
Sample2.iss 801B
Sample1.iss 528B
XPTheme.manifest 649B
trees.obj 14KB
deflate.obj 10KB
inftrees.obj 8KB
infblock.obj 7KB
infcodes.obj 4KB
inflate.obj 4KB
inffast.obj 2KB
infutil.obj 1KB
adler32.obj 797B
Compile.pas 158KB
Install.pas 79KB
Main.pas 77KB
Wizard.pas 69KB
CompForm.pas 50KB
Undo.pas 37KB
zlib.pas 36KB
NewFCtrl.pas 34KB
CmnFunc2.pas 30KB
InstFunc.pas 24KB
CompWizard.pas 24KB
SynHighlighterInno.pas 22KB
NewCheckListBox.pas 13KB
CompMsgs.pas 13KB
Struct.pas 10KB
Msgs.pas 9KB
bzlib.pas 8KB
VerInfo.pas 8KB
UninstProgressDlg.pas 8KB
RichEditViewer.pas 7KB
MBCSUtil.pas 6KB
InstFnc2.pas 6KB
MsgIDs.pas 5KB
GroupRadioButton.pas 5KB
WinDlgs.pas 5KB
CompInt.pas 5KB
CompFileAssoc.pas 5KB
CompWizardFile.pas 5KB
DebugClient.pas 4KB
NewDisk.pas 4KB
CmnFunc.pas 4KB
NewBevel.pas 3KB
CompStartup.pas 3KB
BeveledLabel.pas 3KB
UninstSharedFileDlg.pas 3KB
SetupEnt.pas 2KB
NewProgressBar.pas 2KB
DebugStruct.pas 2KB
CompOptions.pas 2KB
ChildFrm.pas 945B
XPTheme.pas 469B
NewFCtrl.r32 4KB
UninstProgressDlg.rc 3KB
UninstSharedFileDlg.rc 3KB
_shfoldr.rc 302B
XPTheme.rc 103B
_shfoldr.res 23KB
Compil32.res 3KB
ISCC.res 2KB
Uninst.res 2KB
ISCmplr.res 2KB
共 118 条
- 1
- 2
资源评论
- 7897092014-01-10用不起呢,是不是64位系统问题哦
普通网友
- 粉丝: 882
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 80632180.jpg
- 李旭国体注入追踪[5.0](1).zip
- semantic.c
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功