aboutsummaryrefslogtreecommitdiffstats
path: root/installer/settings/GameExplorer.nsh
diff options
context:
space:
mode:
Diffstat (limited to 'installer/settings/GameExplorer.nsh')
-rw-r--r--installer/settings/GameExplorer.nsh198
1 files changed, 0 insertions, 198 deletions
diff --git a/installer/settings/GameExplorer.nsh b/installer/settings/GameExplorer.nsh
deleted file mode 100644
index d5056661..00000000
--- a/installer/settings/GameExplorer.nsh
+++ /dev/null
@@ -1,198 +0,0 @@
-# user interface
-
-!define GameExplorer_GenerateGUID '!insertmacro GameExplorer_GenerateGUID'
-!define GameExplorer_AddGame '!insertmacro GameExplorer_AddGame'
-!define GameExplorer_UpdateGame '!insertmacro GameExplorer_UpdateGame'
-!define GameExplorer_RemoveGame '!insertmacro GameExplorer_RemoveGame'
-
-# internal stuff
-
-!define CLSCTX_INPROC_SERVER 1
-!define IID_IGameExplorer {E7B2FB72-D728-49B3-A5F2-18EBF5F1349E}
-!define CLSID_GameExplorer {9A5EA990-3034-4D6F-9128-01F3C61022BC}
-
-!define GIS_CURRENT_USER 2
-!define GIS_ALL_USERS 3
-
-!define IGameExplorer_QueryInterface 0
-!define IGameExplorer_AddRef 1
-!define IGameExplorer_Release 2
-!define IGameExplorer_AddGame 3
-!define IGameExplorer_RemoveGame 4
-!define IGameExplorer_UpdateGame 5
-!define IGameExplorer_VerifyAccess 6
-
-# includes
-
-!include LogicLib.nsh
-
-# the actual code
-
-!macro GameExplorer_GenerateGUID
-
- System::Call 'ole32::CoCreateGuid(g .s)'
-
-!macroend
-
-!macro GameExplorer_AddGame CONTEXT GDF INSTDIR EXE GUID
-
- !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}"
-
- Push $0
- Push $1
-
- Push $R0
- Push $R1
- Push $R2
- Push $R3
-
- Push "${EXE}"
- Push "${GUID}"
- Push "${INSTDIR}"
- Push "${GDF}"
-
- Pop $R0 # == ${GDF}
- Pop $R1 # == ${INSTDIR}
- Pop $R2 # == ${GUID}
- Pop $R3 # == ${EXE}
-
- ClearErrors
-
- System::Call "ole32::CoCreateInstance( \
- g '${CLSID_GameExplorer}', i 0, \
- i ${CLSCTX_INPROC_SERVER}, \
- g '${IID_IGameExplorer}', *i .r1) i .r0"
-
- ${If} $0 != 0 # S_OK
-
- SetErrors
- Goto "done_${__GAME_EXPLORER_UNIQUE}"
-
- ${EndIf}
-
- !if ${CONTEXT} == all
-
- System::Call "$1->${IGameExplorer_AddGame}(w R0, w R1, i ${GIS_ALL_USERS}, g R2) i .r0"
-
- !else if ${CONTEXT} == user
-
- System::Call "$1->${IGameExplorer_AddGame}(w R1, w R0, i ${GIS_CURRENT_USER}, g R2) i .r0"
-
- !else
-
- !error "Invalid CONTEXT passed to GameExplorer_AddGame! Must be `user` or `all`."
-
- !endif
-
- ${If} $0 != 0 # S_OK
-
- SetErrors
-
- ${Else}
-
- # Create play task
-
- !if ${CONTEXT} == all
-
- SetShellVarContext all
-
- !else if if ${CONTEXT} == user
-
- SetShellVarContext user
-
- !endif
-
- CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0
- CreateShortcut $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0\Play.lnk $R3
-
- ${EndIf}
-
- System::Call "$1->${IGameExplorer_Release}()"
-
- "done_${__GAME_EXPLORER_UNIQUE}:"
-
- Pop $R3
- Pop $R2
- Pop $R1
- Pop $R0
-
- Pop $1
- Pop $0
-
- !undef __GAME_EXPLORER_UNIQUE
-
-!macroend
-
-!macro _GameExplorer_GUID_Function Function GUID
-
- !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}"
-
- Push $0
- Push $1
- Push $2
- Push $3
- Push $4
- Push $5
-
- Push $R0
-
- Push "${GUID}"
-
- Pop $R0 # == ${GUID}
-
- System::Alloc 16
- Exch $R0
- System::Call "ole32::CLSIDFromString(w s, i R0)"
- System::Call "*$R0(i .r2, i .r3, i .r4, i .r5)"
- System::Free $R0
-
- ClearErrors
-
- System::Call "ole32::CoCreateInstance( \
- g '${CLSID_GameExplorer}', i 0, \
- i ${CLSCTX_INPROC_SERVER}, \
- g '${IID_IGameExplorer}', *i .r1) i .r0"
-
- ${If} $0 != 0 # S_OK
-
- SetErrors
- Goto "done_${__GAME_EXPLORER_UNIQUE}"
-
- ${EndIf}
-
- System::Call "$1->${Function}(i r2, i r3, i r4, i r5) i .r0"
-
- ${If} $0 != 0 # S_OK
-
- SetErrors
-
- ${EndIf}
-
- System::Call "$1->${IGameExplorer_Release}()"
-
- "done_${__GAME_EXPLORER_UNIQUE}:"
-
- Pop $R0
-
- Pop $5
- Pop $4
- Pop $3
- Pop $2
- Pop $1
- Pop $0
-
- !undef __GAME_EXPLORER_UNIQUE
-
-!macroend
-
-!macro GameExplorer_UpdateGame GUID
-
- !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_UpdateGame} "${GUID}"
-
-!macroend
-
-!macro GameExplorer_RemoveGame GUID
-
- !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_RemoveGame} "${GUID}"
-
-!macroend \ No newline at end of file