Advertisement
Guest User

Untitled

a guest
Mar 18th, 2010
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Section "Main"
  2.     ;CheckINI:
  3.     ;=== Find the INI file, if there is one
  4.     IfFileExists "$EXEDIR\${NAME}.ini" "" NoINI
  5.         StrCpy $INIPATH "$EXEDIR"
  6.  
  7.         ;=== Read the parameters from the INI file
  8.         ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Directory" "App\${DEFAULTAPPDIR}"
  9.         StrCpy $PROGRAMDIRECTORY "$EXEDIR\$0"
  10.         ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "SettingsDirectory" "Data\${DEFAULTSETTINGSDIR}"
  11.         StrCpy $SETTINGSDIRECTORY "$EXEDIR\$0"
  12.         ${ReadINIStrWithDefault} $PROGRAMEXECUTABLE "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Executable" "${DEFAULTEXE}"
  13.         ${ReadINIStrWithDefault} $ADDITIONALPARAMETERS "$INIPATH\${NAME}.ini" "${NAME}" "AdditionalParameters" ""
  14.         ${ReadINIStrWithDefault} $DISABLESPLASHSCREEN "$INIPATH\${NAME}.ini" "${NAME}" "DisableSplashScreen" "false"
  15.  
  16.         IfFileExists "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" FoundProgramEXE NoProgramEXE
  17.  
  18.     NoINI:
  19.         ;=== No INI file, so we'll use the defaults
  20.         StrCpy $PROGRAMEXECUTABLE "${DEFAULTEXE}"
  21.         StrCpy $ADDITIONALPARAMETERS ""
  22.         StrCpy $DISABLESPLASHSCREEN "false"
  23.  
  24.         IfFileExists "$EXEDIR\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" NoProgramEXE
  25.             StrCpy $PROGRAMDIRECTORY "$EXEDIR\App\${DEFAULTAPPDIR}"
  26.             StrCpy $SETTINGSDIRECTORY "$EXEDIR\Data\${DEFAULTSETTINGSDIR}"
  27.             Goto FoundProgramEXE
  28.  
  29.     NoProgramEXE:
  30.         ;=== Program executable not where expected
  31.         StrCpy $MISSINGFILEORPATH $PROGRAMEXECUTABLE
  32.         MessageBox MB_OK|MB_SETFOREGROUND|MB_ICONEXCLAMATION `$(LauncherFileNotFound)`
  33.         Goto TheEnd
  34.  
  35.     FoundProgramEXE:
  36.         ;=== Check if already running
  37.         System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${NAME}") i .r1 ?e'
  38.         Pop $0
  39.         StrCmp $0 0 CheckAppRunning
  40.             StrCpy $SECONDARYLAUNCH "true"
  41.  
  42.     CheckAppRunning:
  43.         FindProcDLL::FindProc "${DEFAULTEXE}"
  44.         StrCmp $R0 "1" WarnAnotherInstance
  45.         StrCmp $SECONDARYLAUNCH "true" TheEnd DisplaySplash
  46.  
  47.     WarnAnotherInstance:
  48.         StrCmp $SECONDARYLAUNCH "true" GetPassedParameters
  49.         MessageBox MB_OK|MB_SETFOREGROUND|MB_ICONINFORMATION `$(LauncherAlreadyRunning)`
  50.         Goto TheEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement