innosetup-compiler-note
Version:
Node wrapper to compile inno setup scripts (.iss)
349 lines (301 loc) • 16.4 kB
Plain Text
Inno Setup ��һ����ѵ� Windows ��װ����������������һ�η������� 1997 �꣬
Inno Setup �����ڹ������ú��ȶ����ϵľ����������Ѿ�����һЩ��ҵ�İ�װ����������
����
������Ϊ������ǿ�棬���в����Ĵ���ԭ���ϲ����� Inno Setup ԭ���߲�����
ͬʱ������ĺ�İ汾��Ҳ����е��κ��û���ʹ�ù����в����������ɵ���ʧ��
�汾��ʷ��
��Ϊ��װ�������[Setup.e32]�漰��װ�����С�����Խ�����ÿ�����°汾�б���
[Setup.e32] �Ĵ�С���Է����λ�ܷ����ж��Ƿ��б�Ҫʹ����ǿ�棬������˵�����û��
ʹ�õ���ǿ��Ĺ��ܣ�����ʹ��ԭ�氲װ�������[Setup.e32]����Ϊÿ����һ����ļ�
����������������
��ǿ��û��������������ԭ�����㺺���ģ���Ϊ�������ĵ� Unicode ��˵������Ӣ�ĵ�Ҫ
�̣��������������Ϊ��װ�������[Setup.e32]��ʡ��� 6~8 KB ��С������Ϊ���ܺܺ�
�����κ�ϵͳ�����ж�����װ����(������Ҳ�����У�ֻ������ʾ��Ϣ�ڷ�������ϵ��ϵ
ͳ�л������ʾ��Ϣ����)������δ��������
�����ɰ�װ�����ᾭ��ѹ���㷨ѹ�����ļ��Ĵ�С��ѹ������ٳ���һ���С��
��֮ǰ����༭����ǿ�治ͬ������༭���ذ�װ�����С�������Ҳ����������Ĵ�С��
���Ǹð�װ��������ϵ����װ�����С����ʱ�����Ϊ��ͬ�Ĺ��ܺͲ�ͬ�Ĵ�С��ȥѡ��
ijһ�� build �汾������Ϊ�˷�����ѡ���κ�һ�� build �汾���Ҿ����ܵı����κ�һ��
build �汾�������Ǹ��汾���ڴ����ᱣ����������°汾��֮ǰ�İ汾ҪС����ô֮
ǰ���а汾Ҳ�����ᱻ������
build 080805
1.Components ����б��ؼ�����Ϊ TreeView ģʽ�����������漸����ʾ����(����ԭ��
�߷��ֲ��������������� - �� 2000/XP/2003 �����£��������ʹ�ֱ��������ҳ����
���һ��������Ӿ�Ч���������б����෴���������������ֻ������������Ч������
������ҳ��������ע�ͣ���Ϊ��̫���ԣ�����δ����������ԭ���߲���ģ��ķ���������
����ϵͳЧ��������ȫһ�����������ڹ���ʱ����ʾ�ٶ��ϣ�����������������������
������й����Ӿ�Ч�����⣬������������Ч����λ���������ԶԱ�һ�¾�֪��)����
Ȼ����б�����Ϊ TreeView ģʽ��������Ȼ֧��ԭ������ʾģʽ��TreeView ģʽֻ
��Ϊһ����װѡ�����������ʹ�÷������Ľű����ӡ�
2.�����ڲ�֧�ֺ���( function GetPassword: String; )�緢�ֽű����ڸú�����ͬʱ��
�����ṩ����������ȷ��ʱ���Զ����� Password ����ҳ�棬ͬʱ�ú�������������
�ͷ��ļ���������������Ϊ��ʼ��װʱ�ͷŵ��ļ����� noencryption ��ǡ�����ʹ�÷�
����ο������Ľű����ӡ���Ҫ����ģ�� ISCrypt.dll ֧�֡�
build 080815
1. property ItemHeightFixed: Boolean; read write;
��������Ϊ True���Ե��и���ʾÿ���ʾ����ȫ�Ŀ����� Hint ��ʾ����һ�С�
2. TItemArea = (iaOther, iaButton, iaCheckmark, iaItem, iaSubItem);
TItemMouseMoveEvent = procedure(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
property OnItemMouseMove: TItemMouseMoveEvent; read write;
����һ���� Item ���ƶ������¼���
3. property AbsItemIndex: Integer; read;
��ǰ��������� AbsItemIndex��
4. �ڲ��ȸ�����£���Ȼά��ԭ���ߵĹ����Ӿ����������
�����ѡ��ľ���ʹ�����������Ѿ���ϸ���ͣ�����Ͳ�������ϸ�Ľ����ˡ�
build 080816
1. ָ������չ��������������
property ItemExpanded[Index]: Boolean; read write;
2. �Ƿ���û�н�����������Ȼ��ʾ��ѡ�����
property HideSelection: Boolean; read write;
ʹ�÷��������ӡ�
build 080914
����ԭ����еĴ��������Dz��ְ������ἰ�����֧�֣�������ʾ����Ҫ�� CheckListbox
����ʾ��
build 081121
TNewCheckListBox ���� 2 �����ԡ�
property ItemFontStyle[Index: Integer]: TFontStyles; read write;
property SubItemFontStyle[Index: Integer]: TFontStyles; read write;
build 081207
1. �� GetPassword ���塣
2. ���� 1 ���������ú��� SetPassword������ʹ�÷������Բο����ӡ�
procedure SetPassword(const Password: String);
build 090222
���� FullVCL �汾�ı���������Ϊȫ���Ա���汾��ӵ�и�����¼����������磺
OnMouseDown��OnMouseUp��OnMouseMove �ȵȣ���ӵ�и���� VCL �ؼ�ʹ�á����磺
TTimer, Application, TMenu �ȵȡ�
build 090225
���� TScreen �����
���� Application.OnMessage �¼���
���� procedure Randomize; ������
�����˼�����Ȥ�����ӡ�
build 090225
FullVCL �汾����:
���� TImageList, TIcon, TTreeView, TListView �����
build 090424
1. ���� Delphi 2.0 ����ij���� Hint ��ʾЧ��������Ϊ��ͳ�� Windows ��ʽ��
2. ���� Delphi 2.0 ����İ�װ��������С��ʱ�Ķ�̬��СЧ����ʾ���⡣
3. ���� TNewCheckListBox.LoadBtnBmpFromFile ���������Զ��� RadioButtn �� CheckBox
�İ�ťͼƬ��ͬʱ�� [Setup] ������ѡ�� ComponentsListBtnImageFile�����ܸ�ǰ��˵
��һ�������������Զ��尴ťͼƬ��
4. ���� TFolderTreeView.ShowAllFolders ���ԣ�����ʾ�����ļ���(����ϵͳ��������)
5. ���� Inno Setup �� PrivilegesRequired=admin ʱ(����Ĭ��ѡ��ɲ�����ȷ����)
��ͬʱ���ð�װ����� Manifest �е� requestedExecutionLevel level=requireAdministrator
����Ӧ Vista ���ڷǹ���Ա״̬�����а�װ�����Զ���ʾ�������Ա���롣
FullVCL �汾����:
1. ͬ������ MiniVCL ���¡�
2. ɾ���� TGroupBox ��֧�֣���Ϊ���� Delphi 2.0 �б��벻֧�� XP ���⣬���´���
һ��֧�� XP �������� TNewGroupBox��
3. ɾ���� TRadioGroup ��֧�֣���Ϊ������ TNewGroupBox �� TNewRadioButton ����ɡ�
4. ɾ���� TNotebook ��֧�֣���Ϊ�Ѿ��� TNewNotebook ����ʹ�á�
5. ɾ���� THeader ��֧�֣���Ϊ����֧�� XP ���⣬������� THeaderControl (֧��XP����)��
6. ���� Delphi 2.0 ����� TTreeView �� TListView �� XP �����µı߿���ʾ���⡣
7. ɾ���� TImage ��֧�֣����� TNewIcon, TNewIconImage ��������� TBitmapImage��
�������� Icon������֧�����ͼ�ꡣ
8. ���� TForm �� TApplication ����� Icon ���ԡ�
9. ���� TTrackBar, TUpDown, THotKey, TTabControl, TPageControl �����
10. ������������� PopupMenu ���ԡ�
11. �������� �˵�������
�������˼�����Ȥ�����ӣ�ϣ��ϲ�� Inno Setup �����ѻ���ӵ�ϲ�������װ��������
build 090926
ͬ���� InnoSetup 5.3.5 ���룬ISPP ͬ���� 5.3.5 ���롣
MiniVCL �汾����:
1. ���� CheckListBox �� Showroot ʱ�����ߵ�ССʧ��
2. ���� TRichEditViewer ������ģʽ�µı߿���ʾ���⡣
3. ����һ������ CallbackAddr��ֱ��֧�ֽű�ʹ�ûص�������
4. TNewCheckbox ֮ǰ��ǿ�� AddCheckBox��AddGroup��AddRadioButton �������ỹԭ��
ԭ�������ӣ���ǿ�Ĺ��ܱ��ֲ�Ϊ AddCheckBoxEx��AddGroupEx��AddRadioButtonEx��
�Ա�֤��ԭ�� Inno Setup �ű��ļ����ԡ�
FullVCL �汾����:
ͬ�� MiniVCL ���ġ�
1. ���� TForm.Menu ���ԡ�
Unicode �汾:
ͬ�� ANSI �汾�ĸ��¡���չһЩ������ԡ����忴���Ӻ� Support Classes.txt��
ISPP �汾����:
1. ������ǿ����ڲ���־ #define IS_ENHANCED
2. ���������ڲ�������
IS_Ver_Str: String; // ���� Inno Setup �������İ汾�ַ�����
ISPP_Ver_Str: String; // ���� ISPP �İ汾�ַ�����
build 091123
ͬ���� 5.3.6 �汾��
MiniVCL �汾����:
�������� 2 �������������ص��ǿ��Ի�ͼ����ܵ���ʱ��
function MsgBoxEx(AWnd: HWND; AText, ACaption: string; AType, AIcon: UINT; ATimeOut: Integer): Integer;
function InputBoxEx(AWnd: HWND; AText, ACaption, ADefaut, APasswordChar: string; AIcon: UINT; AWidth, AHeight, ATimeOut: Integer; var AResultStr: String): Boolean;
FullVCL �汾����:
ͬ�� MiniVCL ����,
���� TNewMonthCalendar �� TNewDateTimePicker ��������ʱ��ؼ�,���������º���:
function Date: TDateTime;
function DateTimeToStr(DateTime: TDateTime): String;
procedure DateTimeToString(var Result: String; const Format: String; DateTime: TDateTime);
function DateToStr(Date: TDateTime): String;
function DayOfWeek(Date: TDateTime): Integer;
procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
function EncodeDate(Year, Month, Day: Word): TDateTime;
function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
function FormatDateTime(const Format: String; DateTime: TDateTime): String;
function Now: TDateTime;
function StrToDate(const S: String): TDateTime;
function StrToDateTime(const S: String): TDateTime;
function StrToTime(const S: String): TDateTime;
function Time: TDateTime;
function TimeToStr(Time: TDateTime): String;
��������һЩС��������
build 100108
ͬ���� 5.3.7 �汾��
MiniVCL �汾����:
ANSI�汾��������״̬�µ���ʾ�ᵼ�±����Գ����˳������ԭ���������ġ�
FullVCL �汾����:
ͬ�� MiniVCL ����,
���� TIPAddressEdit �ؼ���
build 100210
MiniVCL �汾����:
TNewCheckbox, TNewRadioButton ���� ParentBackground ���ԡ�
FullVCL �汾����:
ͬ�� MiniVCL ����,
TNewGroupBox ���� ParentBackground ���ԣ�THotkey ���� Color��ParentColor��Font��ParentFont ���ԡ�
���� TStatusbar �ؼ���
Unicode �汾�� TNewStaticText ���� Transparent ���ԡ�
Unicode �汾�лָ��� Interface ��֧�֣�����ɲ��Ա��� Inno Setup �����е� CodeAutomation2.iss ���ӡ�
build 100224 (5.3.8.e1 & 5.3.8.ee1)
ͬ���� 5.3.8 �汾��
���� TNewCheckListbox �е�һ�����⡣
���Ӻ��� procedure ExtractTemporaryFileEx(const FileName: String; const DestDir: String);
build 100301 (5.3.8.e2 & 5.3.8.ee2)
�������� TNewCheckbox.ParentBackground, TNewRadioButton.ParentBackground��
TNewGroupBox.ParentBackground �Ĵ���������
�������� CallbackAddr ��ijЩ Windows ƽ̨(����: Windows XP SP3)���ֲ����������е����⡣
����ʹ�÷����ɲο����ӣ�Example_Callback_1.iss �� Example_Callback_2.iss
build 100323 (5.3.8.e3 & 5.3.8.ee3)
�����Ҫ����� Unicode �汾��������
1. ���� PAnsiChar ���͵�������
2. ������ Win2000 ϵͳ��(���� SP)�����������е����⣬�� CVS ���������������
��һ�汾�ģ���Ϊ����Ƚ���Ҫ����������ǰ�� 5.3.8 ����Ӧ�����ˡ�
build 100418 (5.3.9.e1 & 5.3.9.ee1)
ͬ���� 5.3.9 �汾��
build 100613 (5.3.10.e1 & 5.3.10.ee1)
ͬ���� 5.3.10 �汾��
build 100625 (5.3.10.e2 & 5.3.10.ee2)
1. Ϊ��� ISSkin ��Ӧ��, TRichEditViewer �������� ThemeBorder , Ĭ�ϱ���Ϊ True,
����Ϊ False ʱ, �ؼ��߿���Ա� ISSkin Ӧ������.
2. TBitmapImage ����, �� BackColor �� ReplaceWithColor ����ɫ��Ϊ clNone ��ʱ��,
������ ReplaceColor ��ΪͼƬ����ɫʹ��.
TNewIconImage ����, �� BackColor ����ɫΪ clNone ��ʱ��, ��������������.
����ɲ鿴���� Example_TransparentBmp.iss
build 100918 (5.3.11.e1 & 5.3.11.ee1)
1. ͬ���� 5.3.11 �汾��
2. MiniVCL �汾������: TMemoryStream �� TResourceStream ��
3. ���Ӻ��� ExtractTemporaryFileToStream, �ɰ���ʱ�ļ��ͷŵ��ڴ���ʹ�á�
����ɲ鿴���� Example_ExtractTemporaryFileToStream.iss
4. ����һ��������
build 101107 (5.4.0.e1 & 5.4.0.ee1)
ANSI �汾��
1. ͬ���� 5.4.0 �汾��
2. ���Ӻ��� ExtractTemporaryFileToBuffer, �ɰ���ʱ�ļ��ͷŵ��ڴ���ʹ�á�
����ɲ鿴���� Example_ExtractTemporaryFileToBuffer.iss
3. Unicode �汾���Ӻ��� CastAnsiStringToInteger �� CastIntegerToAnsiString��
��� ExtractTemporaryFileToBuffer ����ʹ�á�
build 101129 (5.4.0.e2 & 5.4.0.ee2)
1. ��������ʱ���� {apphwnd}, �൱�� Application.handle, �������ⳡ��ʹ��,
����ɲο����� Example_{apphwnd}.iss��
2. Ϊ���ж�ؽ�����Զ���, ��������˼��, ������ڰ�װ�����ṩһ������
PerformPreviousUninstall, ����һ�����ڰ�װ�����е��õ�ж�غ���, �����Զ�
���֮ǰ��װ�ij���, ���Ҹ���ж�ص������ļ�����ж�صĺ�����Ϊ��ϴ˺���,
ͬʱ�ṩ 2 ������ GetSetupPreviousData �� SetSetupPreviousData, ������
GetPreviousData �� SetPreviousData, ����ǰ 2 �������IJ㼶����, ���Է���ǰ
��װ�����ж��ע�����Ϣ(���� UninstallString, InstallLocation �ȵ�),
���Բ��� 2 ������: Example_Uninstall_1.iss �� Example_Uninstall_2.iss
���������ӳ�������� PerformPreviousUninstall ���û��ɶ��Ʒ�������ɶ�,
��ֻ�ǰ��������þ�����, ��ʵ����ȫ��������Ϊ��Ϊ���ӵĶ��ư�װж�ع��ܡ�
build 110111 (5.4.0.e3 & 5.4.0.ee3)
ANSI �汾��
1. ExtractTemporaryFile, ExtractTemporaryFileEx, ExtractTemporaryFileToStream
ExtractTemporaryFileToBuffer �� 4 ��������֧���ļ���ŷ�ʽ���ͳ��ļ���
����ʹ������ͬĿ���ļ����ֵ��ļ������սű�˳��λ��ʹ�����磺
ExtractTemporaryFile('logo.bmp:1') �����ķ�ʽ���ͳ�������ɲ�������
Example_ExtractTemporaryFile.iss ��
2. MiniVCL �汾�� TBitmap �������º���:
procedure LoadFromResourceName(Instance: THandle; const ResName: String);
procedure LoadFromResourceID(Instance: THandle; ResID: Integer);
3. FullVCL �汾�� TNewIcon �������º���:
procedure LoadFromResourceName(Instance: THandle; const ResName: String);
procedure LoadFromResourceID(Instance: THandle; ResID: Integer);
4. MiniVCL �汾�� TStrings �������º���:
procedure LoadFromStream(Stream: TStream);
procedure SaveToStream(Stream: TStream);
5. MiniVCL �汾�� TForm ��������
property ModalResult: Longint; read write;
6. Setup �����Ӳ��� BitmapResource, IconResource, RawDataResource , �� 3 ������
��Ҫ���ڰ�װ������������Դ�ļ�, ��������ҲΪж�س����ṩ����Ч��ͼ����Դ��
���ļ���Դ�Ŀ�����, ͬʱҲά����һ��ij���ĵ��ļ��ԡ�������Բ���
Example_BitmapResource.iss�� Example_IconResource_1.iss�� Example_IconResource_2.iss
Example_RawDataResource.iss
7. �ؿ��ѱ��ٷ������� Setup ���� UninstallIconFile, ��Ϊ�Ѿ��ҵ���Ӱ�� Win9x ��
���еĽ������������ɲ��� Example_UninstallIconFile.iss
���������һ��ģ�� UninsHs �����ӣ�����������������ǿ���ܵ�Ч��: Example_Uninstall_3.iss��
build 110206 (5.4.0.e4 & 5.4.0.ee4)
MiniVCL �汾��
TLabel, TNewStaticText, TBitmapImage �����¼�:
property OnMouseEnter: TNotifyEvent; read write;
property OnMouseLeave: TNotifyEvent; read write;
�������¼����ô����Բο�����: Example_MouseEvent_ImgBtn.iss �� Example_MouseEvent_URLLabel.iss
TButton ���� procedure Click;
FullVCL �汾:
����ͬ�� MiniVCL �汾�ĸ�����, �ܶ������ؼ����������¼�, ���� TEdit, TButton ������2���¼�.
property OnMouseEnter: TNotifyEvent; read write;
property OnMouseLeave: TNotifyEvent; read write;
����ɲο�����: Example_MouseEvent_HotEdit.iss
����������µĿؼ� TNewSpeedButton, ������: Example_TNewSpeedButton_1.iss �� Example_TNewSpeedButton_2.iss
build 110214 (5.4.1.e1 & 5.4.1.ee1)
ͬ���� 5.4.1 �汾�����������ؼ� TNewSpeedButton ��һЩ���⡣
build 110220 (5.4.1.e2 & 5.4.1.ee2)
1.�����ؼ� TNewSpeedButton ��һЩ���⡣
2.���ں��� Format ���� Float �ľ����ԣ����������� FormatFloat ������������ӷ�
��ض� Float �������ݽ��и�ʽ��������ο� Example_FormatFloat.iss��
3.TNewCheckListbox �������º���:
procedure LoadBGBmpFromBitmap(Bmp: TBitmap; OffsetX, OffsetY: Integer);
procedure LoadBGBmpFromFile(FileName: String; OffsetX, OffsetY: Integer);
�������ӱ���ͼƬ�������Ϳ���ͳһ������װ�������ı�����������ͼһ�����ο� Example_NewCheckListBox.iss��
4.MinVCL �汾Ϊ TStrings �������º���:
procedure BeginUpdate;
procedure EndUpdate;
build 110326 (5.4.2.e1 & 5.4.2.ee1)
ͬ���� 5.4.2 �汾��
build 110329 (5.4.2.e2 & 5.4.2.ee2)
����һ����������, ����һ�� Inno Setup �¼�:
function InitializeLanguageDialog(Languages: String; var LanguageIndex: Integer): Boolean;
����һ���� ���ԶԻ��� ������ֵ� Inno Setup �¼���
Languages �����ԶԻ������ֵ������б�, LanguageIndex �ǽ���ѡ��������, ���¼�
�п�������ָ��. ����ֵ���Ϊ��, ���ԶԻ��������.
build 111225 (5.4.3.e1 & 5.4.3.ee1)
ͬ���� 5.4.3 �汾��
build 120726 (5.5.1.e1 & 5.5.1.ee1)
ͬ���� 5.5.1 �汾, ����Ψһͬ�ٷ���������, ���� Win2000 ���µ�ϵͳ(���� Win98, WinNT �ȵ�)��Ȼ֧�֡�
����������֧��:
1.��� TTrackBar ������������, ��Ҫ���Ե�������Ĵ�С.
property ThumbLength: Integer; read write;
2.��һ�� Inno Setup �¼�(����ʹ������� Example_InitializeLanguageDialog.iss):
function InitializeLanguageDialog(Wnd: HWND; Languages: String; var LanguageIndex: Integer): Boolean;
����Ҫ������������ԶԻ���Ĵ��ھ��, �������Ϳ�������������Ŀؼ����ʵ��ĵ���.
3.�� WizardForm.FormStyle := fsStayOnTop ʱ, ������صĶԻ�������Ϊ���ᱻ WizardForm ���ڵ�.
(������� Example_StayOnTop.iss)
build 121002 (5.5.1.e2 & 5.5.1.ee2)
ANSI �汾��
(MiniVCL: Setup.e32 �ļ���С: 731 KB)
(FullVCL: Setup.e32 �ļ���С: 901 KB)
Unicode �汾��
(MiniVCL: Setup.e32 �ļ���С: 1172 KB)
(FullVCL: Setup.e32 �ļ���С: 1459 KB)
�ٴε���һ�� Inno Setup �¼�(����ʹ������� Example_InitializeLanguageDialog.iss):
ȥ��ȫ�����ݵIJ���, ֻ����һ������ֵ, ������� ��: ��ʾ�Ի���; ������� ��: ��ʾ�Ի���
����, �ڴ˺������п���ʹ�����¿ؼ�, ���Ժͺ���.
TSelectLanguageForm = class(TSetupForm)
property SelectLabel: TNewStaticText; read;
property LangCombo: TNewComboBox; read;
property OKButton: TNewButton; read;
property CancelButton: TNewButton; read;
property IconBitmapImage: TBitmapImage; read;
end;
function SelectLanguageForm: TSelectLanguageForm;
restools (http://restools.hanzify.org)
������������̳ (http://bbs.hanzify.org)