; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [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={{5C74A86F-D960-4B79-94F2-09CC5CD8146C} AppName=Scol Voy@ger AppVerName=Scol Voy@ger 6.0 (alpha) AppPublisher=Scol-Technologies AppPublisherURL=http://www.scolring.org AppSupportURL=http://www.scolring.org AppUpdatesURL=http://www.scolring.org DefaultDirName={code:GetScolInstallDir} DefaultGroupName=Scol Voy@ger OutputDir=release OutputBaseFilename=scol_plugin SetupIconFile=scol.ico Compression=lzma SolidCompression=true UninstallDisplayIcon={app}\scol.ico InternalCompressLevel=max VersionInfoVersion=6.0 VersionInfoCompany=Scol-Technologies VersionInfoDescription=Scol Voy@ger VersionInfoCopyright=Scol-Technologies 2011 MinVersion=0,5.01.2600 AppCopyright=Scol-Technologies 2011 DisableProgramGroupPage=false UsePreviousAppDir=false [Languages] Name: english; MessagesFile: compiler:Default.isl Name: french; MessagesFile: compiler:Languages\French.isl [Tasks] [Files] ; NOTE: Don't use "Flags: ignoreversion" on any shared system files Source: ..\..\dependencies\redist\directx\*; DestDir: {tmp}\directx; Flags: ignoreversion Source: ..\..\dependencies\redist\vc2005\*; DestDir: {tmp}\vc2005; Flags: ignoreversion Source: ..\..\dependencies\redist\vc2008\*; DestDir: {tmp}\vc2008; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\Scol.exe; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\AXScol.dll; DestDir: {app}; Flags: ignoreversion restartreplace Source: ..\..\scol_sdk\bin\release\cg.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\cgGL.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\npScol.dll; DestDir: {app}; Flags: ignoreversion restartreplace Source: ..\..\scol_sdk\bin\release\Scol.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\DSETUP.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\dsetup32.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\Flash.ocx; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\glew32.dll; DestDir: {app}; Flags: ignoreversion //Source: ..\..\scol_sdk\bin\release\avcodec-52.dll; DestDir: {app}; Flags: ignoreversion //Source: ..\..\scol_sdk\bin\release\avformat-52.dll; DestDir: {app}; Flags: ignoreversion //Source: ..\..\scol_sdk\bin\release\avutil-50.dll; DestDir: {app}; Flags: ignoreversion //Source: ..\..\scol_sdk\bin\release\icudt42.dll; DestDir: {app}; Flags: ignoreversion //Source: ..\..\scol_sdk\bin\release\Awesomium.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\Plugins\*; DestDir: {app}\Plugins; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn, glove.dll, OpenNiSCOL.dll, nonin.dll, OptiTrack.dll, SpacePointFusion.dll, usbuirt.dll, wsystem.dll, RespirationBelt.dll, *.pdb, *.tmp, *.ilk, *.exp Source: ..\..\scol_applications\scolvoyager\logo.bmp; DestDir: {app}\Partition_LockedApp; Flags: ignoreversion overwritereadonly; Excludes: .svn Source: ..\..\scol_applications\scolvoyager\locked\*; DestDir: {app}\Partition_LockedApp\locked; Flags: ignoreversion createallsubdirs overwritereadonly recursesubdirs; Excludes: .svn Source: Usm.ini; DestDir: {app}; Flags: ignoreversion onlyifdoesntexist Source: scol.ico; DestDir: {app}; Flags: ignoreversion Source: ext.ini; DestDir: {app}; Flags: ignoreversion overwritereadonly [Icons] Name: {group}\Scol Voy@ger; Filename: {app}\Scol.exe; IconIndex: 0; IconFilename: {app}\scol.ico Name: {group}\{cm:ProgramOnTheWeb,Scolring}; Filename: http://www.scolring.org Name: {group}\{cm:UninstallProgram,Scol Voy@ger}; Filename: {uninstallexe} Name: {group}\Configurer le Scol Voy@ger; Filename: {app}\Partition_LockedApp\locked\voyager\setup.scol; IconFilename: {app}\scol.ico; IconIndex: 0; Tasks: ; Languages: french Name: {group}\Scol Voy@ger Setup; Filename: {app}\Partition_LockedApp\locked\voyager\setup.scol; IconFilename: {app}\scol.ico; IconIndex: 0; Tasks: ; Languages: english [Run] Filename: {tmp}\vc2005\vcredist_x86.exe; Parameters: "/q:a /c:""msiexec /i vcredist.msi /qn"""; StatusMsg: Installing MS Visual 2005 C++ redist... Filename: {tmp}\vc2008\vcredist_x86.exe; Parameters: /q; StatusMsg: Installing MS Visual 2008 C++ redist... Filename: {tmp}\directx\DXSETUP.exe; Parameters: /silent; StatusMsg: Installing MS DirectX redist... Filename: {app}\Scol.exe; Description: "{cm:LaunchProgram,Scol Voy@ger}"; Flags: nowait RunAsCurrentUser; [Registry] Root: HKLM; Subkey: SOFTWARE\Scol-Technologies\; ValueType: none; Permissions: everyone-modify; Flags: noerror; Tasks: ; Languages: [CustomMessages] UpToDate_english=Your Scol Voy@ger version is up to date. Would you force the installation? UpToDate_french=Votre version du Scol Voy@ger est déja à jour. Souhaitez vous forcer l'installation ? [Code] #include "../common/common_type.iss" var InternalMsgs: array of TInternalMsg; #include "../common/common_code.iss" /////////////////////////////// // Scol install directory function GetScolInstallDir(Default: String): String; var Value: String; begin Value := GetScolDir(ExpandConstant('{pf}') + '\Scol Voyager'); if (CheckScolVer(Value) = true) then begin if MsgBox(CustomMessage('UpToDate_' + ExpandConstant('{language}')), mbInformation, MB_YESNO) = IDNO then begin Abort; end end; Result := Value; end; var ResultCode: Integer; procedure CurStepChanged(CurStep: TSetupStep); var UsmIni: String; UsmFile: String; ArrUsmIni: array of String; begin if (CurStep = ssInstall) then begin // kill Scol Voyager and wait for it to terminate if (Exec(ExpandConstant('tskill'), 'scol', '', SW_HIDE, ewNoWait, ResultCode) OR Exec(ExpandConstant('taskkill'), '/IM ' + GetScolExe() + ' /F', '', SW_HIDE, ewNoWait, ResultCode)) then begin // handle success if necessary; ResultCode contains the exit code //MsgBox('ok', mbInformation, MB_OK); end else begin // handle failure if necessary; ResultCode contains the error code //MsgBox('pas ok', mbInformation, MB_OK); end; end else begin if (CurStep = ssPostInstall) then begin UsmFile := ExpandConstant('{app}\usm.ini'); // update usm.ini LoadStringFromFile(UsmFile, UsmIni); if FileExists (UsmFile)= true then begin FileCopy (UsmFile, ExpandConstant('{app}\usm.bak'), false); end; // load file in array SetArrayLength(ArrUsmIni, 0); Strings2Array(UsmIni, ArrUsmIni); InstallPluginDll(ArrUsmIni, 'XTension.dll', ''); InstallPluginDll(ArrUsmIni, 'MMedia24.dll', ''); InstallPluginDll(ArrUsmIni, 'LibOS2D24.dll', ''); InstallPluginDll(ArrUsmIni, 'Lib2D24.dll', ''); InstallPluginDll(ArrUsmIni, 'security.dll', ''); InstallPluginDll(ArrUsmIni, 'SerialIO.dll', ''); InstallPluginDll(ArrUsmIni, 'ScolSQL.dll', ''); InstallPluginDll(ArrUsmIni, 'SO3Engine.dll', ''); InstallPluginDll(ArrUsmIni, 'ZooGL24.dll', ''); InstallPluginDll(ArrUsmIni, 'BitmapToolkit.dll', ''); InstallPluginDll(ArrUsmIni, 'audio.dll', ''); InstallPluginDll(ArrUsmIni, 'wiimote.dll', ''); InstallPluginDll(ArrUsmIni, 'neurosky.dll', ''); InstallPluginDll(ArrUsmIni, 'joypad.dll', ''); InstallPluginDll(ArrUsmIni, 'speech.dll', ''); //InstallPluginDll(ArrUsmIni, 'SpacePointFusion.dll', ''); //InstallPluginDll(ArrUsmIni, 'glove.dll', ''); //InstallPluginDll(ArrUsmIni, 'nonin.dll', ''); SaveStringsToFile(UsmFile, ArrUsmIni, false); end; end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if (CurUninstallStep = usUninstall) then begin // kill Scol Voyager and wait for it to terminate if Exec(ExpandConstant('tskill'), 'scol', '', SW_HIDE, ewNoWait, ResultCode) OR Exec(ExpandConstant('taskkill'), '/IM ' + GetScolExe() + ' /F', '', SW_HIDE, ewNoWait, ResultCode) then begin // handle success if necessary; ResultCode contains the exit code //MsgBox('ok', mbInformation, MB_OK); end else begin // handle failure if necessary; ResultCode contains the error code //MsgBox('pas ok', mbInformation, MB_OK); end; end; end;