Index: scripts/makepkg.bat =================================================================== diff -u -r6a12e28b0c68baaba7818c659bfb0a3c4e6535e5 -reda638671c5ec9b515818d9e132168c76c261faf --- scripts/makepkg.bat (.../makepkg.bat) (revision 6a12e28b0c68baaba7818c659bfb0a3c4e6535e5) +++ scripts/makepkg.bat (.../makepkg.bat) (revision eda638671c5ec9b515818d9e132168c76c261faf) @@ -47,14 +47,14 @@ ) rem --------------------------------------------------- -echo Building the solution +echo Building the solution (Win32) devenv ch.vc90.sln /rebuild "Release-Unicode|Win32" if errorlevel 1 ( echo Build process failed. goto cleanup ) -echo Preparing the zip packages +echo Preparing the zip packages (Win32) if not exist bin\release ( echo The bin\release directory does not exist. @@ -69,13 +69,54 @@ goto cleanup ) -rem zip -r %OutputDir%\ch.zip *.exe *.dll help\ langs\ && cd ..\.. && zip %OutputDir%\ch.zip License.txt -rem if errorlevel 1 ( -rem echo Preparation of the zipped version failed. -rem goto cleanup -rem ) +echo Preparing the installer package +cd ..\.. +if not exist scripts ( + echo The scripts directory does not exist. + goto cleanup +) -rem -------------------------------------------------------- +cd scripts + +echo %CD% +dir +compil32 /cc setup32.iss +if errorlevel 1 ( + echo Preparation of the installer version failed. + goto cleanup +) + +if not exist ..\bin\chsetup32.exe ( + echo Cannot find the created setup file. + goto cleanup +) + +copy ..\bin\chsetup32.exe %OutputDir%\chsetup32.exe +cd .. + +rem --------------------------------------------------- +echo Building the solution (x64) +devenv ch.vc90.sln /rebuild "Release-Unicode|x64" +if errorlevel 1 ( + echo Build process failed. + goto cleanup +) + +echo Preparing the zip packages (x64) + +if not exist bin\release ( + echo The bin\release directory does not exist. + goto cleanup +) + +cd bin\release + +zip -r %OutputDir%\ch_symbols64.zip *64*.pdb +if errorlevel 1 ( + echo Could not create symbols archive. + goto cleanup +) + echo Preparing the installer package cd ..\.. if not exist scripts ( @@ -85,18 +126,18 @@ cd scripts -compil32 /cc setup.iss +compil32 /cc setup64.iss if errorlevel 1 ( echo Preparation of the installer version failed. goto cleanup ) -if not exist ..\bin\ch.exe ( +if not exist ..\bin\chsetup64.exe ( echo Cannot find the created setup file. goto cleanup ) -copy ..\bin\ch.exe %OutputDir%\chsetup.exe +copy ..\bin\chsetup64.exe %OutputDir%\chsetup64.exe :cleanup echo Cleaning up the temporary files... Index: scripts/setup.iss =================================================================== diff -u -r7c612814a43eb389fa1ac27ccd8f621fd4ff37e8 -reda638671c5ec9b515818d9e132168c76c261faf --- scripts/setup.iss (.../setup.iss) (revision 7c612814a43eb389fa1ac27ccd8f621fd4ff37e8) +++ scripts/setup.iss (.../setup.iss) (revision eda638671c5ec9b515818d9e132168c76c261faf) @@ -6,8 +6,25 @@ #define MyAppVerName PRODUCT_NAME + " " + PRODUCT_VERSION #define MyAppPublisher "J�zef Starosczyk" #define MyAppURL "http://www.copyhandler.com" -#define MyAppExeName "ch.exe" +#ifndef X86_64 + #define X86_64 0 +#endif + +#if X86_64 + #define ExeFilename "ch64.exe" + #define ShellExtFilename "chext64.dll" + #define LibicpfFilename "libicpf64u.dll" + #define InstallerFilename "chsetup64" +#else + #define ExeFilename "ch.exe" + #define ShellExtFilename "chext.dll" + #define LibicpfFilename "libicpf32u.dll" + #define InstallerFilename "chsetup32" +#endif + +#define MyAppExeName ExeFilename + [Setup] AppName={#MyAppName} AppVerName={#MyAppVerName} @@ -20,7 +37,7 @@ AllowNoIcons=true LicenseFile=..\License.txt OutputDir=..\bin -OutputBaseFilename=ch +OutputBaseFilename={#InstallerFilename} Compression=lzma SolidCompression=true AppMutex=_Copy handler_ instance @@ -52,10 +69,10 @@ Name: startatboot; Description: Run program at system startup; Flags: unchecked; Languages: [Files] -Source: ..\bin\release\ch.exe; DestDir: {app}; Flags: ignoreversion +Source: ..\bin\release\{#ExeFilename}; DestDir: {app}; Flags: ignoreversion Source: ..\License.txt; DestDir: {app}; Flags: ignoreversion -Source: ..\bin\release\chext.dll; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete -Source: ..\bin\release\libicpf32u.dll; DestDir: {app}; Flags: ignoreversion +Source: ..\bin\release\{#ShellExtFilename}; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete +Source: ..\bin\release\{#LibicpfFilename}; DestDir: {app}; Flags: ignoreversion Source: ..\bin\release\ch.ini.template; DestDir: {app}; Flags: ignoreversion Source: ..\bin\release\help\*; DestDir: {app}\help; Flags: ignoreversion recursesubdirs createallsubdirs Source: ..\bin\release\langs\*; DestDir: {app}\langs; Flags: ignoreversion recursesubdirs createallsubdirs @@ -71,7 +88,7 @@ [Registry] Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Copy Handler; Flags: dontcreatekey uninsdeletevalue -Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Copy Handler; Tasks: " startatboot"; ValueData: {app}\ch.exe; Flags: uninsdeletevalue +Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Copy Handler; Tasks: " startatboot"; ValueData: {app}\{#ExeFilename}; Flags: uninsdeletevalue [INI] Filename: {app}\ch.ini; Section: Program; Key: Reload after restart; String: 1; Tasks: startatboot Index: scripts/setup32.iss =================================================================== diff -u --- scripts/setup32.iss (revision 0) +++ scripts/setup32.iss (revision eda638671c5ec9b515818d9e132168c76c261faf) @@ -0,0 +1,2 @@ +#define X86_64 0 +#include "Setup.iss" Index: scripts/setup64.iss =================================================================== diff -u --- scripts/setup64.iss (revision 0) +++ scripts/setup64.iss (revision eda638671c5ec9b515818d9e132168c76c261faf) @@ -0,0 +1,2 @@ +#define X86_64 1 +#include "Setup.iss"