|
|
#ifndef _WIZARD_H_
#define _WIZARD_H_
#pragma warning (disable:4189) // disable local var init'd but not ref'd warning since all
// occurences in the wizard have been removed. Should be
// moved to warning.h in ..\inc when other modules have been
// fixed
// constants
#define MAX_BUF 5000
#define MAX_LINE 512
#define MAX_URL 2048
#define MAX_BUFFER_SIZE 32767
#define MAX_COPY_SIZE 32767
typedef enum tagPPAGE { PPAGE_WELCOME = 0, PPAGE_OCWWELCOME = 0,
PPAGE_STAGE1, PPAGE_TARGET, PPAGE_LANGUAGE, PPAGE_MEDIA, PPAGE_IEAKLITE,
PPAGE_STAGE2, PPAGE_OPTDOWNLOAD, PPAGE_CUSTCOMP,
PPAGE_STAGE3, PPAGE_ISKBACK, PPAGE_CDINFO, PPAGE_SETUPWIZARD, PPAGE_SILENTINSTALL, PPAGE_COMPSEL, PPAGE_COMPURLS, PPAGE_ADDON, PPAGE_INSTALLDIR, PPAGE_CORPCUSTOM, PPAGE_CUSTOMCUSTOM, PPAGE_COPYCOMP, PPAGE_ICM, PPAGE_CABSIGN,
PPAGE_STAGE4, PPAGE_OCWSTAGE2, PPAGE_TITLE, PPAGE_BTOOLBARS, PPAGE_CUSTICON, PPAGE_STARTSEARCH, PPAGE_FAVORITES, PPAGE_WELCOMEMSGS, PPAGE_DESKTOP, PPAGE_DTOOLBARS, PPAGE_FOLDERMCCP, PPAGE_UASTRDLG, PPAGE_CONNECTSET, PPAGE_QUERYAUTOCONFIG, PPAGE_PROXY, PPAGE_ADDROOT, PPAGE_SECURITYCERT, PPAGE_SECURITY,
PPAGE_QUERYSIGNUP, PPAGE_SIGNUPFILES, PPAGE_SERVERISPS, PPAGE_ISPINS, PPAGE_ICW,
PPAGE_STAGE5, PPAGE_PROGRAMS, PPAGE_MAIL, PPAGE_IMAP, PPAGE_OE, PPAGE_PRECONFIG, PPAGE_OEVIEW, PPAGE_SIG, PPAGE_LDAP, PPAGE_ADMDESC, PPAGE_ADM, PPAGE_STATUS, PPAGE_FINISH };
#define NUM_PAGES PPAGE_FINISH + 1
// typedefs
typedef struct tagREVIEWINFO { HINSTANCE hInst; // instance handel of the resource dll
HINSTANCE hinstExe; // instance handle of this executable
TCHAR pszName[MAX_PATH]; } REVIEWINFO;
// Function prototypes
// procs
LRESULT APIENTRY MainWndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
// Pages for Wizard
INT_PTR CALLBACK OptionalDownload(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK DownloadStatusDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CustomComponents(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CertificatePick(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ComponentSelect(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CorpCustomizeCustom(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CustomizeCustom(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CopyComp(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ComponentUrls(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CabSignDlgProc(HWND, UINT, WPARAM, LPARAM ); INT_PTR CALLBACK CustIcon(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK Favorites(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK QueryAutoConfigDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ProxySettings(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ConnectSetDlgProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK QuerySignupDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK SignupFilesDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ServerIspsDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK SignupInsDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK NewICWDlgProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK ProgramsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK MailServer(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK IMAPSettings(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK LDAPServer(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK CustomizeOE(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK Signature(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK ViewSettings(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK PreConfigSettings(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK WelcomeMessageDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK InstallDirectory(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CustUserSettings(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK SecurityZonesDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK SecurityCertsDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ISPAddRootCertDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ActiveSetupDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK BToolbarProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK DesktopAddOneComp(HWND,UINT, WPARAM, LPARAM); INT_PTR CALLBACK UserAgentString(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ADMDesc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK ADMParse(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK InternetConnMgr(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CustomCompName(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK AddOnDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK SilentInstall(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK AddEditChannel(HWND, UINT, WPARAM, LPARAM); DWORD DownloadSiteThreadProc(LPVOID); INT_PTR CALLBACK MediaDlgProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK TargetProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK IEAKLiteProc(HWND, UINT, WPARAM, LPARAM);
//functions
BOOL InitApplication(HINSTANCE); BOOL InitInstance(HINSTANCE); int CreateWizard(HWND); void FillInPropertyPage( int , int, LPTSTR, DLGPROC); void GenerateReview(HWND); void StatusDialog(UINT);
void DoBatchAdvance(HWND hDlg); BOOL IeakPageHelp(HWND, LPCTSTR pszData); void EnablePages(); BOOL PageEnabled(int iPage); void PagePrev(HWND hDlg); void PageNext(HWND hDlg); void DoCancel(); BOOL QueryCancel(HWND hDlg); void CheckBatchAdvance(HWND hDlg);
BOOL ADMEnablePage(); // admwizpg.cpp
void SetBannerText(HWND hDlg); void ChangeBannerText(HWND hDlg);
// definitions for StatusDialog( )
#define SD_STEP1 1
#define SD_STEP2 2
typedef struct tagISKINFO { TCHAR szISKBackBitmap[MAX_PATH]; TCHAR szISKTitleBar[128]; TCHAR szISKBtnBitmap[MAX_PATH]; DWORD dwNormalColor; DWORD dwHighlightColor; DWORD dwNIndex; DWORD dwHIndex; BOOL fCoolButtons; } ISKINFO;
INT_PTR CALLBACK ISKBackBitmap(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK CDInfoProc(HWND, UINT, WPARAM, LPARAM);
#define SIGTYPE_TEXT 1
#define SIGTYPE_FILE 2
#define SIGFLAG_OUTGOING 0x10000
#define SIGFLAG_REPLY 0x20000
// Automation HookIn
#define WM_LV_GETITEMS WM_USER+21
#define IDM_WIZARD WM_USER + 3000
#define IDM_LAST WM_USER + 3001
#define IDM_EXIT WM_USER + 3002
#define IDM_INITIALIZE WM_USER + 3003
#define IDM_BATCHADVANCE WM_USER + 3004
#define IDM_SETDEFBUTTON WM_USER + 3005
#define IDM_ERROR WM_USER + 3006
#define NUMLANG 100
#define DOWN_STATE_IDLE 0
#define DOWN_STATE_ENUM_LANG 1
#define DOWN_STATE_ENUM_URL 2
#define DOWN_STATE_SAVE_URL 3
#define KEY_TYPE_STANDARD 0 // old MS mode still used for current MS builds
#define KEY_TYPE_ENHANCED 1 // old code now unused
#define KEY_TYPE_SUPER 2 // isp
#define KEY_TYPE_CORP 3 // old code now unused
#define KEY_TYPE_SUPERCORP 4 // corp
#define MAX_INSTALL_OPTS 10
typedef struct patch_info { DWORD dwSize; TCHAR szVersion[32]; TCHAR szSection[32]; } PATCHINFO, *PPATCHINFO;
typedef struct tag_component { int iList; DWORD dwSize; int iType; int iImage; int iPlatform; int iCompType; int iInstallType; // 0=after IE, 1=before IE, 2=after reboot
BOOL fVisible; BOOL fAddOnOnly; BOOL fCustomHide; BOOL fNoCopy; BOOL fAVSDupe; BOOL fIEDependency; PATCHINFO piPatchInfo; BOOL afInstall[MAX_INSTALL_OPTS]; TCHAR szDisplayName[80]; TCHAR szSection[32]; LPTSTR pszAVSDupeSections; TCHAR szCommand[32]; TCHAR szUrl[80]; TCHAR szGUID[64]; TCHAR szSwitches[80]; TCHAR szUninstall[80]; TCHAR szVersion[32]; TCHAR szModes[80]; TCHAR szPath[MAX_PATH]; TCHAR szDesc[512]; tag_component * paCompRevDeps[10]; } COMPONENT, *PCOMPONENT;
extern REVIEWINFO g_rvInfo; extern DWORD g_dwPlatformId; extern BOOL g_fUseShortFileName; extern HWND g_hWizard;
extern CCifRWFile_t *g_lpCifRWFile; extern CCifFile_t *g_lpCifFileNew; extern CCifRWFile_t *g_lpCifRWFileDest; extern CCifRWFile_t *g_lpCifRWFileVer;
// ProcessINSFiles flags
#define PINSF_DEFAULT 0x00
#define PINSF_DELETE 0x01
#define PINSF_COPY 0x02
#define PINSF_APPLY 0x04
#define PINSF_COPYCAB 0x08
#define PINSF_FIXINS 0x10
#define PINSF_NOCLEAR 0x20
DWORD ProcessINSFiles(LPCTSTR pcszDir, DWORD dwFlags, LPCTSTR pcszOutDir); #define GetNumberOfINSFiles(d) (ProcessINSFiles((d), PINSF_DEFAULT, NULL))
#define DeleteINSFiles(d) (ProcessINSFiles((d), PINSF_DELETE, NULL))
#define CopyINSFiles(d, o) (ProcessINSFiles((d), PINSF_COPY, (o)))
#define ApplyINSFiles(d, i) (ProcessINSFiles((d), PINSF_APPLY, (i)))
#define CopyCabFiles(d, c) (ProcessINSFiles((d), PINSF_COPYCAB, (c)))
#define FixINSFiles(d) (ProcessINSFiles((d), PINSF_FIXINS, NULL))
#define WriteNoClearToINSFiles(d) (ProcessINSFiles((d), PINSF_NOCLEAR, NULL))
// ADM constants
#define IS_ADM TEXT("ADM")
#define IK_ADMIN TEXT("Admin")
#define POSTCUSTITEMS TEXT("PostCustItems")
#define URDCOMP TEXT("URD")
#define IE55URD_EXE TEXT("ie55urd.exe")
#define URD_GUID_STR TEXT("{71F159B0-139A-4555-BE78-D728734BB5D4}")
#define IK_URD_STR URD_GUID_STR
#endif
|