You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
312 lines
9.9 KiB
312 lines
9.9 KiB
#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
|