17db96d56Sopenharmony_ci//------------------------------------------------------------------------------------------------- 27db96d56Sopenharmony_ci// <copyright file="wixstdba.cpp" company="Outercurve Foundation"> 37db96d56Sopenharmony_ci// Copyright (c) 2004, Outercurve Foundation. 47db96d56Sopenharmony_ci// This software is released under Microsoft Reciprocal License (MS-RL). 57db96d56Sopenharmony_ci// The license and further copyright text can be found in the file 67db96d56Sopenharmony_ci// LICENSE.TXT at the root directory of the distribution. 77db96d56Sopenharmony_ci// </copyright> 87db96d56Sopenharmony_ci// 97db96d56Sopenharmony_ci// <summary> 107db96d56Sopenharmony_ci// Setup chainer/bootstrapper standard UI for WiX toolset. 117db96d56Sopenharmony_ci// </summary> 127db96d56Sopenharmony_ci//------------------------------------------------------------------------------------------------- 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci#include "pch.h" 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_cistatic HINSTANCE vhInstance = NULL; 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ciextern "C" BOOL WINAPI DllMain( 197db96d56Sopenharmony_ci IN HINSTANCE hInstance, 207db96d56Sopenharmony_ci IN DWORD dwReason, 217db96d56Sopenharmony_ci IN LPVOID /* pvReserved */ 227db96d56Sopenharmony_ci ) 237db96d56Sopenharmony_ci{ 247db96d56Sopenharmony_ci switch(dwReason) 257db96d56Sopenharmony_ci { 267db96d56Sopenharmony_ci case DLL_PROCESS_ATTACH: 277db96d56Sopenharmony_ci ::DisableThreadLibraryCalls(hInstance); 287db96d56Sopenharmony_ci vhInstance = hInstance; 297db96d56Sopenharmony_ci break; 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ci case DLL_PROCESS_DETACH: 327db96d56Sopenharmony_ci vhInstance = NULL; 337db96d56Sopenharmony_ci break; 347db96d56Sopenharmony_ci } 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci return TRUE; 377db96d56Sopenharmony_ci} 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciextern "C" HRESULT WINAPI BootstrapperApplicationCreate( 417db96d56Sopenharmony_ci __in IBootstrapperEngine* pEngine, 427db96d56Sopenharmony_ci __in const BOOTSTRAPPER_COMMAND* pCommand, 437db96d56Sopenharmony_ci __out IBootstrapperApplication** ppApplication 447db96d56Sopenharmony_ci ) 457db96d56Sopenharmony_ci{ 467db96d56Sopenharmony_ci HRESULT hr = S_OK; 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci BalInitialize(pEngine); 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci hr = CreateBootstrapperApplication(vhInstance, FALSE, S_OK, pEngine, pCommand, ppApplication); 517db96d56Sopenharmony_ci BalExitOnFailure(hr, "Failed to create bootstrapper application interface."); 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ciLExit: 547db96d56Sopenharmony_ci return hr; 557db96d56Sopenharmony_ci} 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ciextern "C" void WINAPI BootstrapperApplicationDestroy() 597db96d56Sopenharmony_ci{ 607db96d56Sopenharmony_ci BalUninitialize(); 617db96d56Sopenharmony_ci} 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ciextern "C" HRESULT WINAPI MbaPrereqBootstrapperApplicationCreate( 657db96d56Sopenharmony_ci __in HRESULT hrHostInitialization, 667db96d56Sopenharmony_ci __in IBootstrapperEngine* pEngine, 677db96d56Sopenharmony_ci __in const BOOTSTRAPPER_COMMAND* pCommand, 687db96d56Sopenharmony_ci __out IBootstrapperApplication** ppApplication 697db96d56Sopenharmony_ci ) 707db96d56Sopenharmony_ci{ 717db96d56Sopenharmony_ci return E_NOTIMPL; 727db96d56Sopenharmony_ci} 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ciextern "C" void WINAPI MbaPrereqBootstrapperApplicationDestroy() 767db96d56Sopenharmony_ci{ } 77