diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-05-23 09:07:15 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-05-23 09:07:15 +0000 |
commit | 678cc132f942ff4d84a803550eedf96acc543bca (patch) | |
tree | eb195abafaf69d55fa0f4b77323e517fcd2263cd /cmake/installer/settings/GameExplorer.nsh | |
parent | 7e677fd5ebe60c3dd9df8954e1ed28c4afdf8660 (diff) | |
download | usdx-678cc132f942ff4d84a803550eedf96acc543bca.tar.gz usdx-678cc132f942ff4d84a803550eedf96acc543bca.tar.xz usdx-678cc132f942ff4d84a803550eedf96acc543bca.zip |
update to trunk rev. 2391
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2401 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'cmake/installer/settings/GameExplorer.nsh')
-rw-r--r-- | cmake/installer/settings/GameExplorer.nsh | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/cmake/installer/settings/GameExplorer.nsh b/cmake/installer/settings/GameExplorer.nsh deleted file mode 100644 index d5056661..00000000 --- a/cmake/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 |