; InnoSetup setup file for p4vaddins ; Copyright (c) 2006 Qualcomm ; Miki Tebeka [Setup] AppName = P4V Addins DefaultDirName = "{pf}\P4VAddins" DefaultGroupName = "P4V Addins" OutputDir = . WizardImageFile = wizard.bmp WizardSmallImageFile = wizard-small.bmp ; FIXME: Uninstallable = no ; This is created by the build system #include "version.iss" [Types] Name: "full"; Description: "Full Installation" Name: "p4v"; Description: "Install only P4V addins" Name: "p4win"; Description: "Install only P4Win addins" [Components] Name: "addins"; Description: "Addins files"; Types: full p4v p4win Name: "p4v"; Description: "Install P4V addins"; Types: p4v full Name: "p4win"; Description: "Install P4Win addins"; Types: p4win full [Files] Source: dist\*; DestDir: {app}; Components: addins Source: psvince.dll; DestDir: {app}; Flags: dontcopy; [Icons] Name: "{group}\License"; Filename: "{app}\LICENSE.txt" Name: "{group}\README"; Filename: "{app}\README.html" ; FIXME: ;Name: "{group}\Uninstall"; Filename: "{uninstallexe}" [Run] Filename: "{app}\p4v_install.exe"; Parameters: """{app}"""; Components: p4v Filename: "{app}\p4win_install.exe"; Parameters: """{app}"""; Components: p4win [Code] { We check that both p4v and p4win are not running } { This is taken from } { http://news.jrsoftware.org/news/innosetup.thirdparty/msg05745.html } function IsModuleLoaded(modulename: String ): Boolean; external 'IsModuleLoaded@files:psvince.dll stdcall'; function InitializeSetup(): Boolean; begin Result := True; if IsModuleLoaded('p4v.exe') then begin MsgBox('P4V is running, please close it and start setup again', mbError, MB_OK); Result := False; end else if IsModuleLoaded('P4Win.exe') then begin MsgBox('P4Win is running, please close it and start setup again', mbError, MB_OK); Result := False; end end;