1c2c66affSColin Finck /* 2c2c66affSColin Finck * Copyright (C) 2004 Eric Kohl 3c2c66affSColin Finck * 4c2c66affSColin Finck * This program is free software; you can redistribute it and/or modify 5c2c66affSColin Finck * it under the terms of the GNU General Public License as published by 6c2c66affSColin Finck * the Free Software Foundation; either version 2 of the License, or 7c2c66affSColin Finck * (at your option) any later version. 8c2c66affSColin Finck * 9c2c66affSColin Finck * This program is distributed in the hope that it will be useful, 10c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12c2c66affSColin Finck * GNU General Public License for more details. 13c2c66affSColin Finck * 14c2c66affSColin Finck * You should have received a copy of the GNU General Public License along 15c2c66affSColin Finck * with this program; if not, write to the Free Software Foundation, Inc., 16c2c66affSColin Finck * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17c2c66affSColin Finck */ 18c2c66affSColin Finck 19c2c66affSColin Finck #pragma once 20c2c66affSColin Finck 21c2c66affSColin Finck typedef struct _ADMIN_INFO 22c2c66affSColin Finck { 23c2c66affSColin Finck LPWSTR Name; 24c2c66affSColin Finck LPWSTR Domain; 25c2c66affSColin Finck LPWSTR Password; 26c2c66affSColin Finck } ADMIN_INFO, *PADMIN_INFO; 27c2c66affSColin Finck 28*56b0f836SEric Kohl 29*56b0f836SEric Kohl typedef struct _ITEMSDATA 30*56b0f836SEric Kohl { 31*56b0f836SEric Kohl HWND hwndDlg; 32*56b0f836SEric Kohl } ITEMSDATA, *PITEMSDATA; 33*56b0f836SEric Kohl 34*56b0f836SEric Kohl typedef struct _REGISTRATIONNOTIFY 35*56b0f836SEric Kohl { 36*56b0f836SEric Kohl ULONG Progress; 37*56b0f836SEric Kohl UINT ActivityID; 38*56b0f836SEric Kohl LPCWSTR CurrentItem; 39*56b0f836SEric Kohl LPCWSTR ErrorMessage; 40*56b0f836SEric Kohl UINT MessageID; 41*56b0f836SEric Kohl DWORD LastError; 42*56b0f836SEric Kohl } REGISTRATIONNOTIFY, *PREGISTRATIONNOTIFY; 43*56b0f836SEric Kohl 44*56b0f836SEric Kohl 45*56b0f836SEric Kohl #define PM_REGISTRATION_NOTIFY (WM_APP + 1) 46*56b0f836SEric Kohl /* Private Message used to communicate progress from the background 47*56b0f836SEric Kohl registration thread to the main thread. 48*56b0f836SEric Kohl wParam = 0 Registration in progress 49*56b0f836SEric Kohl = 1 Registration completed 50*56b0f836SEric Kohl lParam = Pointer to a REGISTRATIONNOTIFY structure */ 51*56b0f836SEric Kohl 52*56b0f836SEric Kohl #define PM_ITEM_START (WM_APP + 2) 53*56b0f836SEric Kohl /* Start of a new Item 54*56b0f836SEric Kohl wParam = item number 55*56b0f836SEric Kohl lParam = number of steps */ 56*56b0f836SEric Kohl 57*56b0f836SEric Kohl #define PM_ITEM_END (WM_APP + 3) 58*56b0f836SEric Kohl /* End of a new Item 59*56b0f836SEric Kohl wParam = unused 60*56b0f836SEric Kohl lParam = Error Code */ 61*56b0f836SEric Kohl 62*56b0f836SEric Kohl #define PM_STEP_START (WM_APP + 4) 63*56b0f836SEric Kohl #define PM_STEP_END (WM_APP + 5) 64*56b0f836SEric Kohl #define PM_ITEMS_DONE (WM_APP + 6) 65*56b0f836SEric Kohl 66*56b0f836SEric Kohl 67c2c66affSColin Finck extern HINSTANCE hDllInstance; 68c2c66affSColin Finck extern HINF hSysSetupInf; 69c2c66affSColin Finck extern ADMIN_INFO AdminInfo; 70c2c66affSColin Finck 71c2c66affSColin Finck BOOL RegisterTypeLibraries (HINF hinf, LPCWSTR szSection); 72c2c66affSColin Finck 73*56b0f836SEric Kohl /* install */ 74*56b0f836SEric Kohl 75*56b0f836SEric Kohl VOID 76*56b0f836SEric Kohl InstallStartMenuItems( 77*56b0f836SEric Kohl _In_ PITEMSDATA pItemsData); 78*56b0f836SEric Kohl 7980db0551SEric Kohl /* netinstall.c */ 8080db0551SEric Kohl 8180db0551SEric Kohl BOOL 8280db0551SEric Kohl InstallNetworkComponent( 8380db0551SEric Kohl _In_ PWSTR pszComponentId); 8480db0551SEric Kohl 85c2c66affSColin Finck /* security.c */ 86c2c66affSColin Finck 87c2c66affSColin Finck VOID InstallSecurity(VOID); 88c2c66affSColin Finck NTSTATUS 89c2c66affSColin Finck SetAdministratorPassword(LPCWSTR Password); 90c2c66affSColin Finck 91c2c66affSColin Finck VOID 92c2c66affSColin Finck SetAutoAdminLogon(VOID); 93c2c66affSColin Finck 94c2c66affSColin Finck /* wizard.c */ 95c2c66affSColin Finck VOID InstallWizard (VOID); 96c2c66affSColin Finck 97c2c66affSColin Finck /* EOF */ 98