; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define ScolName "mscol" [InnoIDE_Settings] UseRelativePaths=true [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={{1E6DEBBE-4B21-44EC-9A3C-161E549D91B0} AppName=Scol Mini AppVerName=Scol Mini 1.0 AppPublisher=Scol-Technologies AppPublisherURL=http://www.scolring.org AppSupportURL=http://www.scolring.org AppUpdatesURL=http://www.scolring.org DefaultDirName={pf}\scol mini DefaultGroupName=Scol Mini OutputDir=release OutputBaseFilename=mscol_plugin SetupIconFile=scol.ico Compression=lzma/Max SolidCompression=true UninstallDisplayIcon={app}\scol.ico InternalCompressLevel=Max VersionInfoVersion=1.0 VersionInfoCompany=Scol-Technologies VersionInfoDescription=Scol Mini VersionInfoCopyright=Scol-Technologies 2010 MinVersion=0,5.1.2600 AppCopyright=Scol-Technologies 2010 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; DestName: {#ScolName}.exe Source: ..\..\scol_sdk\bin\release\AXMScol.dll; DestDir: {app}; Flags: ignoreversion regserver Source: ..\..\scol_sdk\bin\release\npMScol.dll; DestDir: {app}; Flags: ignoreversion 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\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 ; Navigator Source: ..\..\scol_sdk\bin\release\avcodec-54.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\avformat-54.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\avutil-51.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\icudt.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\libcef.dll; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\chrome.pak; DestDir: {app}; Flags: ignoreversion Source: ..\..\scol_sdk\bin\release\locales\*; DestDir: {app}\locales; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn 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, emotionDetector.dll, Epoc.dll, scolvlc.dll, *.pdb, *.tmp, *.ilk, *.exp Source: ..\..\scol_applications\scolmini\logo.bmp; DestDir: {app}\Partition_LockedApp; Flags: ignoreversion overwritereadonly; Excludes: .svn Source: ..\..\scol_applications\scolmini\locked\*; DestDir: {app}\Partition_LockedApp\locked; Flags: ignoreversion createallsubdirs overwritereadonly recursesubdirs; Excludes: .svn Source: Usm.ini; DestDir: {app}; Flags: ignoreversion overwritereadonly Source: scol.ico; DestDir: {app}; Flags: ignoreversion Source: ext.ini; DestDir: {app}; Flags: ignoreversion overwritereadonly ;Source: {src}\virtualschool.conf; DestDir: {app}\Partition_LockedApp\tmp\conf; Flags: external skipifsourcedoesntexist; [Icons] Name: {group}\{cm:ProgramOnTheWeb,Scolring}; Filename: http://www.scolring.org Name: {group}\{cm:UninstallProgram,Scol Voy@ger}; Filename: {uninstallexe} [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}\{#ScolName}.exe; Description: {cm:LaunchProgram,Scol Voy@ger}; Flags: nowait runascurrentuser; Tasks: ; Languages: [Registry] Root: HKLM; Subkey: SOFTWARE\Scol-Technologies\; ValueType: none; Permissions: everyone-modify; Flags: noerror; Tasks: ; Languages: [Code] #include "../common/common_type.iss" var InternalMsgs: array of TInternalMsg; #include "../common/common_code.iss" 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'), '{#ScolName}', '', 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, 'Vuzix.dll', ''); //InstallPluginDll(ArrUsmIni, 'SpacePointFusion.dll', ''); //InstallPluginDll(ArrUsmIni, 'glove.dll', ''); //InstallPluginDll(ArrUsmIni, 'nonin.dll', ''); ReplacePartition(ArrUsmIni, './Partition_LocalUsr', './' + Str2Scol(GetLastDir(ExpandConstant('{app}'))) + '/Partition_LocalUsr', True); 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'), '{#ScolName}', '', 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;