Hi. I making new setup using Inno setup with ISSI and ISSkin, but propably
exactly this combination is not good.
I have following code in .iss project:
(xxx is just for private reasons)
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "XXX" #define MyAppVerName "XXX 1.0" #define MyAppPublisher "XXX" #define MyAppURL "http://www.xxx.cz" #define MyAppExeName "XXX.exe" #define MyAppUrlName "XXX.url" #define ISSI_IncludePath "C:\ISSI"
[Setup] AppId={{XXX} AppName={#MyAppName} AppVerName={#MyAppVerName} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\XXX DefaultGroupName={#MyAppName} LicenseFile=C:\BUILD\LicenceF.txt OutputDir=C:\BUILD\full\__Output OutputBaseFilename=XXX setup plná verze ISW SetupIconFile=C:\BUILD\xxx.ico Compression=lzma2/max SolidCompression=yes Encryption=no
[Languages] ;Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" ;Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}";
[Files] Source: "C:\BUILD\full\XXX\XXX.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\BUILD\full\XXX\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\BUILD\ikony\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
; Add the ISSkin DLL used for skinning Inno Setup installations. Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
; Add the Visual Style resource contains resources used for skinning, ; you can also use Microsoft Visual Styles (*.msstyles) resources. Source: Styles\Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy
[INI] Filename: "{app}\{#MyAppUrlName}"; Section: "InternetShortcut"; Key: "URL"; String: "{#MyAppURL}"
[Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; WorkingDir: "{app}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" ;tady dou další ikony Name: "{group}\Pohádky zdarma ke stažení"; Filename: "{app}\Pohadky.url"; IconFilename: "{app}\Pohadky.ico" Name: "{group}\Hry zdarma ke stažení"; Filename: "{app}\Hry.url"; IconFilename: "{app}\Hry.ico" ; Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; WorkingDir: "{app}" ;ikony na plochu Name: "{commondesktop}\České pohádky zdarma ke stažení"; Filename: "{app}\Pohadky.url"; IconFilename: "{app}\Pohadky.ico"; Tasks: desktopicon Name: "{commondesktop}\Hry zdarma ke stažení"; Filename: "{app}\Hry.url"; IconFilename: "{app}\Hry.ico"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon; WorkingDir: "{app}" ;další kviklanš Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Pohádky zdarma ke stažení"; Filename: "{app}\Pohadky.url"; IconFilename: "{app}\Pohadky.ico"; Tasks: quicklaunchicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Hry zdarma ke stažení"; Filename: "{app}\Hry.url"; IconFilename: "{app}\Hry.ico"; Tasks: quicklaunchicon Name: {group}\Uninstall =ISSkin; Filename: {app}\unins000.exe
; The following code block is used to load the ISS, pass in ; NormalBlack.ini as the second parameter to LoadSkin to use ; the Black color scheme instead of the default Blue color ; scheme.
[Code] // Importing LoadSkin API from ISSkin.DLL procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';
// Importing UnloadSkin API from ISSkin.DLL procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';
// Importing ShowWindow Windows API from User32.DLL function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';
function InitializeSetup(): Boolean; begin ExtractTemporaryFile('Office2007.cjstyles'); LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalBlack.ini'); Result := True; end;
procedure DeinitializeSetup(); begin // Hide Window before unloading skin so user does not get // a glimse of an unskinned window before it is closed. ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0); UnloadSkin(); end;
[Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent
[ISSI] #define ISSI_URL #define ISSI_UrlText #define ISSI_Czech ;#define ISSI_Russian #define ISSI_Splash "logo.bmp" #define ISSI_Splash_T 3 #define ISSI_Splash_X 477 #define ISSI_Splash_Y 320 #define ISSI_IncludePath "C:\ISSI" #include ISSI_IncludePath+"\_issi.isi"
|
If i try to use the ISSkin, i get this error in the compilation procedure :
"Duplicate identifier 'INITIALIZESETUP'"
I looking for identifier manually and automatically. There is no duplicate!
This is probably problem with ISSI and ISSkin combination, 'cause when i delete the ISSI part, everything is ok!
Please help me with this! thx