289{
292 IActiveScriptParse *pActiveScriptParse =
NULL;
300
302
303
305 if (
hr !=
S_OK)
goto done;
306
307
309 if (
hr !=
S_OK)
goto done;
310
311
313 if (
hr !=
S_OK)
goto done;
314
315
321 else {
322 ERR(
"Unknown script type %d\n",
type);
323 goto done;
324 }
326 ERR(
"Could not find CLSID for Windows Script\n");
327 goto done;
328 }
331 ERR(
"Could not instantiate class for Windows Script\n");
332 goto done;
333 }
334
335 hr = IActiveScript_QueryInterface(pActiveScript, &IID_IActiveScriptParse, (
void **)&pActiveScriptParse);
337
340
343
344 hr = IActiveScript_AddNamedItem(pActiveScript,
L"Session", SCRIPTITEM_GLOBALMEMBERS|SCRIPTITEM_ISVISIBLE);
346
349
352
353
354 if (function && function[0]) {
356
357 hr = IActiveScript_GetScriptDispatch(pActiveScript,
NULL, &pDispatch);
359
362
365
368
370
372 } else {
373
375 }
376
377done:
378
379 if (pDispatch) IDispatch_Release(pDispatch);
380 if (pActiveScript) IActiveScript_Release(pActiveScript);
382 if (scriptsite)
383 {
387 }
390}
#define IActiveScriptParse_InitNew
#define IActiveScriptParse_ParseScriptText
#define IActiveScriptParse_Release
HRESULT create_session(MSIHANDLE msiHandle, IDispatch *installer, IDispatch **disp)
HRESULT create_msiserver(IUnknown *outer, void **ppObj)
static UINT map_return_value(LONG val)
static HRESULT create_activescriptsite(MsiActiveScriptSite **obj)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CLSIDFromProgID(LPCOLESTR progid, LPCLSID clsid)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
GLuint GLuint GLsizei GLenum type
static VARIANTARG static DISPID
@ msidbCustomActionTypeJScript
@ msidbCustomActionTypeVBScript
struct stdole::DISPPARAMS DISPPARAMS
#define LOCALE_USER_DEFAULT
IActiveScriptSite IActiveScriptSite_iface
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
#define ERROR_INSTALL_FAILURE