關於Inno Setup:Inno Setup
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName"My Program"
#define MyAppVersion"1.5"
#define MyAppPublisher"My Company, Inc."
#define MyAppURL"/"
#define MyAppExeName"MyProg.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5820E516-8DD7-4481-A016-63D3F00438C8}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name:"english"; MessagesFile:"compiler:Default.isl"
[Tasks]
Name:"desktopicon"; Description:"{cm:CreateDesktopIcon}"; GroupDescription:"{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source:"C:\\Program Files (x86)\\Inno Setup 5\\Examples\\MyProg.exe"; DestDir:"{app}"; Flags: ignoreversion
; NOTE: Don't use"Flags: ignoreversion" on any shared system files
[Icons]
Name:"{group}\\{#MyAppName}"; Filename:"{app}\\{#MyAppExeName}"
Name:"{commondesktop}\\{#MyAppName}"; Filename:"{app}\\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename:"{app}\\{#MyAppExeName}"; Description:"{cm:LaunchProgram,{#StringChange(MyAppName,"&","&&")}}"; Flags: nowait postinstall skipifsilent
[Code]
function InitializeSetup: Boolean;
var
S: AnsiString;
begin
// Show the contents of Readme.txt (non Unicode) in a message box
log('Before Extract');
ExtractTemporaryFile('myprog.exe');
log('Before FileCopy. Dest:' ExpandConstant('{reg:HKCU\\SOFTWARE\\XXX,InstallPath}\\file.exe'));
log('temp: ' ExpandConstant('{tmp}\\myprog.exe'));
FileCopy(ExpandConstant('{tmp}\\myprog.exe'), ExpandConstant('{reg:HKCU\\SOFTWARE\\XXX,InstallPath}\\file.exe'), false);
log('After FileCopy');
Result := True;
end;
0條評論