зеркало из https://github.com/mozilla/pjs.git
No bug - not part of build
OS/2 Install wizard work
This commit is contained in:
Родитель
e15446f23e
Коммит
be41268242
|
@ -48,9 +48,12 @@ LDFLAGS += /PM:PM
|
|||
|
||||
libs:: $(PROGRAM)
|
||||
$(INSTALL) $(PROGRAM) $(DIST)/install
|
||||
$(INSTALL) $(RESFILE) $(DIST)/install
|
||||
|
||||
install:: $(PROGRAM)
|
||||
$(SYSINSTALL) $(IFLAGS2) $(PROGRAM) $(DESTDIR)$(mozappdir)/install
|
||||
$(SYSINSTALL) $(IFLAGS2) $(RESFILE) $(DESTDIR)$(mozappdir)/install
|
||||
|
||||
clean clobber realclean clobber_all::
|
||||
$(RM) $(DIST)/install/$(PROGRAM)
|
||||
$(RM) $(DIST)/install/$(RESFILE)
|
||||
|
|
|
@ -1,61 +1,80 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# The contents of this file are subject to the Mozilla Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# the License at http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is Mozilla Communicator client code,
|
||||
# released March 31, 1998.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape Communications
|
||||
# Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
#
|
||||
# The Original Code is mozilla.org code
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Contributor(s):
|
||||
# Sean Su <ssu@netscape.com>
|
||||
|
||||
DEPTH=../../../..
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
MODULE = setup
|
||||
PROGRAM = $(MODULE).exe
|
||||
RESFILE = $(MODULE).res
|
||||
|
||||
CSRCS = \
|
||||
dialogs.c \
|
||||
extra.c \
|
||||
ifuncns.c \
|
||||
setup.c \
|
||||
xpi.c \
|
||||
logging.c \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
||||
shortcut.cpp \
|
||||
xpnetHook.cpp \
|
||||
nsEscape.cpp \
|
||||
$(NULL)
|
||||
|
||||
LIBS= \
|
||||
$(DIST)/lib/nsreg_s.lib \
|
||||
$(DIST)/lib/jar_s.lib \
|
||||
$(DIST)/lib/zlib_s.lib \
|
||||
$(DIST)/lib/xpnet_s.lib \
|
||||
$(NULL)
|
||||
|
||||
#LLFLAGS= /NODEFAULTLIB libc.lib libcd.lib
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
PROGRAM = setup$(BIN_SUFFIX)
|
||||
RESFILE = setup.res
|
||||
REQUIRES = \
|
||||
setuprsc \
|
||||
xpnet \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DSO_LIBS = \
|
||||
mozregsa_s \
|
||||
jar50_s \
|
||||
mozz_s \
|
||||
xpnet_s \
|
||||
$(NULL)
|
||||
|
||||
USE_NON_MT_LIBS = 1
|
||||
|
||||
CSRCS = \
|
||||
setup.c \
|
||||
extra.c \
|
||||
ifuncns.c \
|
||||
logging.c \
|
||||
xpi.c \
|
||||
dialogs.c
|
||||
|
||||
|
||||
CPPSRCS = \
|
||||
nsEscape.cpp \
|
||||
nsINIParser.cpp \
|
||||
$(NULL)
|
||||
|
||||
# xpnetHook.cpp \
|
||||
# shortcut.cpp \
|
||||
|
||||
LIBS = $(EXTRA_DSO_LIBS)
|
||||
|
||||
LOCAL_INCLUDES = -I$(srcdir)/../uninstall
|
||||
|
||||
NO_DIST_INSTALL = 1
|
||||
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
LDFLAGS += /PM:PM
|
||||
|
||||
libs:: $(PROGRAM)
|
||||
$(MAKE_INSTALL) $(PROGRAM) $(DIST)/install
|
||||
$(INSTALL) $(PROGRAM) $(DIST)/install
|
||||
|
||||
install:: $(PROGRAM)
|
||||
$(INSTALL) $(PROGRAM) $(DESTDIR)$(mozappdir)/install
|
||||
|
||||
clean clobber realclean clobber_all::
|
||||
$(RM) $(DIST)/install/$(PROGRAM)
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,109 +20,50 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _DIALOGS_H_
|
||||
#define _DIALOGS_H_
|
||||
|
||||
#define BTN_UNCHECKED 0
|
||||
#define BTN_CHECKED 1
|
||||
#define BTN_INDETERMINATE 2
|
||||
|
||||
#ifndef OPENFILENAME
|
||||
/* OPENFILENAME struct flags
|
||||
*/
|
||||
|
||||
#define OFN_READONLY 0x00000001
|
||||
#define OFN_OVERWRITEPROMPT 0x00000002
|
||||
#define OFN_HIDEREADONLY 0x00000004
|
||||
#define OFN_NOCHANGEDIR 0x00000008
|
||||
#define OFN_SHOWHELP 0x00000010
|
||||
#define OFN_ENABLEHOOK 0x00000020
|
||||
#define OFN_ENABLETEMPLATE 0x00000040
|
||||
#define OFN_ENABLETEMPLATEHANDLE 0x00000080
|
||||
#define OFN_NOVALIDATE 0x00000100
|
||||
#define OFN_ALLOWMULTISELECT 0x00000200
|
||||
#define OFN_EXTENSIONDIFFERENT 0x00000400
|
||||
#define OFN_PATHMUSTEXIST 0x00000800
|
||||
#define OFN_FILEMUSTEXIST 0x00001000
|
||||
#define OFN_CREATEPROMPT 0x00002000
|
||||
#define OFN_SHAREAWARE 0x00004000
|
||||
#define OFN_NOREADONLYRETURN 0x00008000
|
||||
#define OFN_NOTESTFILECREATE 0x00010000
|
||||
#define OFN_NONETWORKBUTTON 0x00020000
|
||||
#define OFN_NOLONGNAMES 0x00040000
|
||||
|
||||
typedef struct _tagOFN {
|
||||
ULONG lStructSize;
|
||||
HWND hwndOwner;
|
||||
HMODULE hInstance;
|
||||
PCSZ lpstrFilter;
|
||||
PSZ lpstrCustomFilter;
|
||||
ULONG nMaxCustFilter;
|
||||
ULONG nFilterIndex;
|
||||
PSZ lpstrFile;
|
||||
ULONG nMaxFile;
|
||||
PSZ lpstrFileTitle;
|
||||
ULONG nMaxFileTitle;
|
||||
PCSZ lpstrInitialDir;
|
||||
PCSZ lpstrTitle;
|
||||
ULONG Flags;
|
||||
USHORT nFileOffset;
|
||||
USHORT nFileExtension;
|
||||
PCSZ lpstrDefExt;
|
||||
ULONG lCustData;
|
||||
PFN lpfnHook;
|
||||
PCSZ lpTemplateName;
|
||||
} OPENFILENAME, *POPENFILENAME, *LPOPENFILENAME;
|
||||
|
||||
//extern "C" BOOL APIENTRY DaxOpenSave(BOOL, LONG *, LPOPENFILENAME, PFNWP);
|
||||
#endif
|
||||
|
||||
|
||||
MRESULT EXPENTRY DlgProcMain(HWND hWnd, ULONG msg, MPARAM wParam, MPARAM lParam);
|
||||
MRESULT EXPENTRY DlgProcWelcome(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcLicense(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcSetupType(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcSelectComponents(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcSelectAdditionalComponents(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcWindowsIntegration(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcProgramFolder(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcDownloadOptions(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcAdvancedSettings(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcSiteSelector(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcStartInstall(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcReboot(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcMessage(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
LRESULT CALLBACK DlgProcMain(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
MRESULT EXPENTRY DlgProcWelcome(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcLicense(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcSetupType(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcSelectComponents(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcSelectAdditionalComponents(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
LRESULT CALLBACK DlgProcWindowsIntegration(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam);
|
||||
LRESULT CALLBACK DlgProcProgramFolder(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcAdditionalOptions(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcAdvancedSettings(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
LRESULT CALLBACK DlgProcQuickLaunch(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam);
|
||||
LRESULT CALLBACK DlgProcSiteSelector(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam);
|
||||
MRESULT EXPENTRY DlgProcStartInstall(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT CALLBACK DlgProcReboot(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY DlgProcMessage(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
MRESULT EXPENTRY NewListBoxWndProc( HWND, ULONG, MPARAM, MPARAM);
|
||||
MRESULT EXPENTRY DlgProcUpgrade(HWND hDlg, ULONG msg, MPARAM wParam, LONG lParam);
|
||||
LRESULT CALLBACK DlgProcUpgrade(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam);
|
||||
|
||||
void ToggleCheck(HWND hwndListBox, ULONG dwIndex, ULONG dwACFlag);
|
||||
void ToggleCheck(HWND hwndListBox, DWORD dwIndex, DWORD dwACFlag);
|
||||
BOOL AskCancelDlg(HWND hDlg);
|
||||
void lbAddItem(HWND hList, siC *siCComponent);
|
||||
HWND InstantiateDialog(HWND hParent, ULONG dwDlgID, PSZ szTitle, PFNWP wpDlgProc);
|
||||
void DlgSequenceNext(void);
|
||||
void DlgSequencePrev(void);
|
||||
HWND InstantiateDialog(HWND hParent, ULONG ulDlgID, PSZ szTitle, PFNWP pfnwpDlgProc);
|
||||
void DlgSequence(int iDirection);
|
||||
void PaintGradientShade(HWND hWnd, HDC hdc);
|
||||
BOOL BrowseForDirectory(HWND hDlg, char *szCurrDir);
|
||||
BOOL GetTextExtentPoint32(HPS aPS, const char* aString, int aLength, PSIZEL aSizeL);
|
||||
MRESULT EXPENTRY BrowseHookProc(HWND hwnd, ULONG message, MPARAM wParam, MPARAM lParam);
|
||||
LRESULT CALLBACK BrowseHookProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
void ShowMessage(PSZ szMessage, BOOL bShow);
|
||||
void DrawCheck(POWNERITEM lpdis, ULONG dwACFlag);
|
||||
void DrawLBText(LPDRAWITEMSTRUCT lpdis, DWORD dwACFlag);
|
||||
void DrawCheck(LPDRAWITEMSTRUCT lpdis, DWORD dwACFlag);
|
||||
void InvalidateLBCheckbox(HWND hwndListBox);
|
||||
void ProcessWindowsMessages(void);
|
||||
BOOL CheckWizardStateCustom(ULONG dwDefault);
|
||||
PSZ GetStartInstallMessage(void);
|
||||
void AppendStringWOAmpersand(PSZ szInputString, ULONG dwInputStringSize, PSZ szString);
|
||||
void TruncateString(HWND hWnd, PSZ szInPath, PSZ szOutPath, ULONG dwOutPathBufSize);
|
||||
void SaveDownloadOptions(HWND hDlg, HWND hwndCBSiteSelector);
|
||||
PFNWP SubclassWindow( HWND hWnd, PFNWP NewWndProc);
|
||||
MRESULT EXPENTRY ListBoxBrowseWndProc(HWND hWnd, ULONG uMsg, MPARAM wParam, MPARAM lParam);
|
||||
LPSTR GetStartInstallMessage(void);
|
||||
void AppendStringWOTilde(LPSTR szInputString, DWORD dwInputStringSize, LPSTR szString);
|
||||
void TruncateString(HWND hWnd, LPSTR szInPath, LPSTR szOutPath, DWORD dwOutPathBufSize);
|
||||
void SaveAdditionalOptions(HWND hDlg, HWND hwndCBSiteSelector);
|
||||
WNDPROC SubclassWindow( HWND hWnd, WNDPROC NewWndProc);
|
||||
LRESULT CALLBACK ListBoxBrowseWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
void DisableSystemMenuItems(HWND hWnd, BOOL bDisableClose);
|
||||
BOOL ExtTextOut(HPS aPS, int X, int Y, UINT fuOptions, const RECTL* lprc,
|
||||
const char* aString, unsigned int aLength, const int* pDx);
|
||||
PSZ myGetSysFont();
|
||||
void CommitInstall(void);
|
||||
|
||||
#endif /* _DIALOGS_H_ */
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _EXTERN_H_
|
||||
|
@ -29,41 +28,39 @@
|
|||
#include "setup.h"
|
||||
|
||||
/* external global variables */
|
||||
extern HOBJECT hInst;
|
||||
extern HOBJECT hSetupRscInst;
|
||||
extern HOBJECT hSDInst;
|
||||
extern HOBJECT hXPIStubInst;
|
||||
extern HINSTANCE hInst;
|
||||
extern HINSTANCE hSetupRscInst;
|
||||
extern HINSTANCE hSDInst;
|
||||
extern HINSTANCE hXPIStubInst;
|
||||
|
||||
extern HBITMAP hbmpBoxChecked;
|
||||
extern HBITMAP hbmpBoxCheckedDisabled;
|
||||
extern HBITMAP hbmpBoxUnChecked;
|
||||
|
||||
extern LHANDLE hAccelTable;
|
||||
|
||||
extern HWND hDlgCurrent;
|
||||
extern HWND hDlgMessage;
|
||||
extern HWND hWndMain;
|
||||
|
||||
extern PSZ szEGlobalAlloc;
|
||||
extern PSZ szEStringLoad;
|
||||
extern PSZ szEDllLoad;
|
||||
extern PSZ szEStringNull;
|
||||
extern PSZ szTempSetupPath;
|
||||
extern LPSTR szEGlobalAlloc;
|
||||
extern LPSTR szEStringLoad;
|
||||
extern LPSTR szEDllLoad;
|
||||
extern LPSTR szEStringNull;
|
||||
extern LPSTR szTempSetupPath;
|
||||
|
||||
extern PSZ szSetupDir;
|
||||
extern PSZ szTempDir;
|
||||
extern PSZ szOSTempDir;
|
||||
extern PSZ szFileIniConfig;
|
||||
extern PSZ szFileIniInstall;
|
||||
extern LPSTR szSetupDir;
|
||||
extern LPSTR szTempDir;
|
||||
extern LPSTR szOSTempDir;
|
||||
extern LPSTR szFileIniConfig;
|
||||
extern LPSTR szFileIniInstall;
|
||||
|
||||
extern PSZ szSiteSelectorDescription;
|
||||
extern LPSTR szSiteSelectorDescription;
|
||||
|
||||
extern ULONG dwWizardState;
|
||||
extern ULONG dwSetupType;
|
||||
extern ULONG ulWizardState;
|
||||
extern ULONG ulSetupType;
|
||||
|
||||
extern ULONG dwTempSetupType;
|
||||
extern ULONG gdwUpgradeValue;
|
||||
extern ULONG gdwSiteSelectorStatus;
|
||||
extern ULONG ulTempSetupType;
|
||||
extern ULONG gulUpgradeValue;
|
||||
extern ULONG gulSiteSelectorStatus;
|
||||
|
||||
extern BOOL bSDUserCanceled;
|
||||
extern BOOL bIdiArchivesExists;
|
||||
|
@ -74,17 +71,19 @@ extern BOOL gbPreviousUnfinishedDownload;
|
|||
extern BOOL gbIgnoreRunAppX;
|
||||
extern BOOL gbIgnoreProgramFolderX;
|
||||
extern BOOL gbRestrictedAccess;
|
||||
extern BOOL gbDownloadTriggered;
|
||||
|
||||
extern setupGen sgProduct;
|
||||
extern diS diSetup;
|
||||
extern diW diWelcome;
|
||||
extern diQL diQuickLaunch;
|
||||
extern diL diLicense;
|
||||
extern diST diSetupType;
|
||||
extern diSC diSelectComponents;
|
||||
extern diSC diSelectAdditionalComponents;
|
||||
extern diWI diWindowsIntegration;
|
||||
extern diPF diProgramFolder;
|
||||
extern diDO diDownloadOptions;
|
||||
extern diDO diAdditionalOptions;
|
||||
extern diAS diAdvancedSettings;
|
||||
extern diSI diStartInstall;
|
||||
extern diD diDownload;
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,41 +20,39 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _EXTRA_H_
|
||||
#define _EXTRA_H_
|
||||
|
||||
typedef __int64 ULARGE_INTEGER;
|
||||
|
||||
BOOL InitDialogClass(HOBJECT hInstance, HOBJECT hSetupRscInst);
|
||||
BOOL InitApplication(HOBJECT hInstance, HOBJECT hSetupRscInst);
|
||||
BOOL InitInstance(HOBJECT hInstance, ULONG dwCmdShow);
|
||||
void PrintError(PSZ szMsg, ULONG dwErrorCodeSH);
|
||||
BOOL InitDialogClass(HMODULE hInstance, HMODULE hSetupRscInst);
|
||||
BOOL InitApplication(HMODULE hInstance, HMODULE hSetupRscInst);
|
||||
BOOL InitInstance(HMODULE hInstance);
|
||||
void PrintError(PSZ szMsg, ULONG ulErrorCodeSH);
|
||||
void FreeMemory(void **vPointer);
|
||||
void *NS_GlobalReAlloc(HPOINTER hgMemory,
|
||||
ULONG dwMemoryBufSize,
|
||||
ULONG dwNewSize);
|
||||
void *NS_GlobalAlloc(ULONG dwMaxBuf);
|
||||
APIRET Initialize(HOBJECT hInstance);
|
||||
APIRET NS_LoadStringAlloc(LHANDLE hInstance, ULONG dwID, PSZ *szStringBuf, ULONG dwStringBuf);
|
||||
APIRET NS_LoadString(LHANDLE hInstance, ULONG dwID, PSZ szStringBuf, ULONG dwStringBuf);
|
||||
APIRET WinSpawn(PSZ szClientName, PSZ szParameters, PSZ szCurrentDir, int iShowCmd, BOOL bWait);
|
||||
APIRET ParseConfigIni(PSZ lpszCmdLine);
|
||||
APIRET ParseInstallIni();
|
||||
APIRET DecryptString(PSZ szOutputStr, PSZ szInputStr);
|
||||
APIRET DecryptVariable(PSZ szVariable, ULONG dwVariableSize);
|
||||
APIRET InitSetupGeneral(void);
|
||||
APIRET InitDlgWelcome(diW *diDialog);
|
||||
APIRET InitDlgLicense(diL *diDialog);
|
||||
APIRET InitDlgSetupType(diST *diDialog);
|
||||
APIRET InitDlgSelectComponents(diSC *diDialog, ULONG dwSM);
|
||||
APIRET InitDlgWindowsIntegration(diWI *diDialog);
|
||||
APIRET InitDlgProgramFolder(diPF *diDialog);
|
||||
APIRET InitDlgStartInstall(diSI *diDialog);
|
||||
APIRET InitDlgSiteSelector(diAS *diDialog);
|
||||
APIRET InitSDObject(void);
|
||||
void *NS_GlobalReAlloc(void **hgMemory,
|
||||
DWORD dwMemoryBufSize,
|
||||
DWORD dwNewSize);
|
||||
void *NS_GlobalAlloc(DWORD dwMaxBuf);
|
||||
HRESULT Initialize(HMODULE hInstance, PSZ szAppName);
|
||||
HRESULT NS_LoadStringAlloc(HMODULE hInstance, ULONG ulID, PSZ *szStringBuf, ULONG ulStringBuf);
|
||||
HRESULT NS_LoadString(HMODULE hInstance, ULONG ulID, PSZ szStringBuf, ULONG ulStringBuf);
|
||||
HRESULT WinSpawn(LPSTR szClientName, LPSTR szParameters, LPSTR szCurrentDir, int iShowCmd, BOOL bWait);
|
||||
HRESULT ParseConfigIni(int argc, char *argv[]);
|
||||
HRESULT ParseInstallIni();
|
||||
HRESULT DecryptString(LPSTR szOutputStr, LPSTR szInputStr);
|
||||
HRESULT DecryptVariable(LPSTR szVariable, DWORD dwVariableSize);
|
||||
HRESULT InitSetupGeneral(void);
|
||||
HRESULT InitDlgWelcome(diW *diDialog);
|
||||
HRESULT InitDlgLicense(diL *diDialog);
|
||||
HRESULT InitDlgQuickLaunch(diQL *diDialog);
|
||||
HRESULT InitDlgSetupType(diST *diDialog);
|
||||
HRESULT InitDlgSelectComponents(diSC *diDialog, DWORD dwSM);
|
||||
HRESULT InitDlgWindowsIntegration(diWI *diDialog);
|
||||
HRESULT InitDlgProgramFolder(diPF *diDialog);
|
||||
HRESULT InitDlgStartInstall(diSI *diDialog);
|
||||
HRESULT InitDlgSiteSelector(diAS *diDialog);
|
||||
HRESULT InitSDObject(void);
|
||||
void DeInitSDObject(void);
|
||||
siC *CreateSiCNode(void);
|
||||
void SiCNodeInsert(siC **siCHead, siC *siCTemp);
|
||||
|
@ -62,32 +60,33 @@ void SiCNodeDelete(siC *siCTemp);
|
|||
siCD *CreateSiCDepNode(void);
|
||||
void SiCDepNodeDelete(siCD *siCDepTemp);
|
||||
void SiCDepNodeInsert(siCD **siCDepHead, siCD *siCDepTemp);
|
||||
APIRET SiCNodeGetAttributes(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
void SiCNodeSetAttributes(ULONG dwIndex, ULONG dwAttributes, BOOL bSet, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
void SiCNodeSetItemsSelected(ULONG dwSetupType);
|
||||
char *SiCNodeGetReferenceName(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
char *SiCNodeGetDescriptionShort(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
char *SiCNodeGetDescriptionLong(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
char *SiCNodeGetReferenceName(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
siC *SiCNodeGetObject(ULONG dwIndex, BOOL bIncludeInvisibleObjs, ULONG dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSize(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSizeSystem(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSizeArchive(ULONG dwIndex, BOOL bIncludeInvisible, ULONG dwACFlag);
|
||||
HRESULT SiCNodeGetAttributes(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
void SiCNodeSetAttributes(DWORD dwIndex, DWORD dwAttributes, BOOL bSet, BOOL bIncludeInvisible, DWORD dwACFlag, HWND hwndListBox);
|
||||
void SiCNodeSetItemsSelected(DWORD dwSetupType);
|
||||
char *SiCNodeGetReferenceName(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
char *SiCNodeGetDescriptionShort(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
char *SiCNodeGetDescriptionLong(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
char *SiCNodeGetReferenceName(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
siC *SiCNodeGetObject(DWORD dwIndex, BOOL bIncludeInvisibleObjs, DWORD dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSize(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSizeSystem(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
ULONGLONG SiCNodeGetInstallSizeArchive(DWORD dwIndex, BOOL bIncludeInvisible, DWORD dwACFlag);
|
||||
siC *SiCNodeFind(siC *siComponents, char *szInReferenceName);
|
||||
void InitSiComponents(char *szFileIni);
|
||||
APIRET ParseComponentAttributes(char *szBuf);
|
||||
HRESULT ParseComponentAttributes(char *szBuf, DWORD dwAttributes, BOOL bOverride);
|
||||
void InitSiteSelector(char *szFileIni);
|
||||
void DeInitSiCDependencies(siCD *siCDDependencies);
|
||||
BOOL ResolveDependencies(ULONG dwIndex);
|
||||
BOOL ResolveComponentDependency(siCD *siCDInDependency);
|
||||
void ResolveDependees(PSZ szToggledDescriptionShort);
|
||||
BOOL ResolveDependencies(DWORD dwIndex, HWND hwndListBox);
|
||||
BOOL ResolveComponentDependency(siCD *siCDInDependency, HWND hwndListBox);
|
||||
void ResolveDependees(LPSTR szToggledDescriptionShort, HWND hwndListBox);
|
||||
BOOL ResolveComponentDependee(siCD *siCDInDependee);
|
||||
void STSetVisibility(st *stSetupType);
|
||||
APIRET InitSXpcomFile(void);
|
||||
HRESULT InitSXpcomFile(void);
|
||||
void DeInitSXpcomFile(void);
|
||||
void DeInitialize(void);
|
||||
void DeInitDlgWelcome(diW *diDialog);
|
||||
void DeInitDlgLicense(diL *diDialog);
|
||||
void DeInitDlgQuickLaunch(diQL *diDialog);
|
||||
void DeInitDlgSetupType(diST *diDialog);
|
||||
void DeInitDlgSelectComponents(diSC *diDialog);
|
||||
void DeInitDlgWindowsIntegration(diWI *diDialog);
|
||||
|
@ -97,30 +96,30 @@ void DeInitDlgSiteSelector(diAS *diDialog);
|
|||
void DetermineOSVersionEx(void);
|
||||
void DeInitSiComponents(siC **siComponents);
|
||||
void DeInitSetupGeneral(void);
|
||||
APIRET ParseSetupIni(void);
|
||||
APIRET GetConfigIni(void);
|
||||
APIRET GetInstallIni(void);
|
||||
HRESULT ParseSetupIni(void);
|
||||
HRESULT GetConfigIni(void);
|
||||
HRESULT GetInstallIni(void);
|
||||
void CleanTempFiles(void);
|
||||
void OutputSetupTitle(HDC hDC);
|
||||
long RetrieveArchives(void);
|
||||
long RetrieveRedirectFile(void);
|
||||
void ParsePath(PSZ szInput, PSZ szOutput, ULONG dwOutputSize, BOOL bUseSlash, ULONG dwType);
|
||||
void ParsePath(LPSTR szInput, LPSTR szOutput, DWORD dwOutputSize, BOOL bUseSlash, DWORD dwType);
|
||||
void RemoveBackSlash(PSZ szInput);
|
||||
void AppendBackSlash(PSZ szInput, ULONG dwInputSize);
|
||||
void RemoveSlash(PSZ szInput);
|
||||
void AppendSlash(PSZ szInput, ULONG dwInputSize);
|
||||
void AppendBackSlash(PSZ szInput, ULONG ulInputSize);
|
||||
void RemoveSlash(LPSTR szInput);
|
||||
void AppendSlash(LPSTR szInput, DWORD dwInputSize);
|
||||
BOOL DeleteIdiGetConfigIni(void);
|
||||
BOOL DeleteIdiGetArchives(void);
|
||||
BOOL DeleteIdiGetRedirect(void);
|
||||
BOOL DeleteIdiFileIniConfig(void);
|
||||
BOOL DeleteIdiFileIniInstall(void);
|
||||
void DeleteArchives(ULONG dwDeleteCheck);
|
||||
void DeleteArchives(DWORD dwDeleteCheck);
|
||||
BOOL DeleteIniRedirect(void);
|
||||
APIRET LaunchApps(void);
|
||||
APIRET FileExists(PSZ szFile);
|
||||
HRESULT LaunchApps(void);
|
||||
HRESULT FileExists(PSZ szFile);
|
||||
int ExtractDirEntries(char* directory,void* vZip);
|
||||
int LocateJar(siC *siCObject, PSZ szPath, int dwPathSize, BOOL bIncludeTempDir);
|
||||
APIRET AddArchiveToIdiFile(siC *siCObject,
|
||||
int LocateJar(siC *siCObject, LPSTR szPath, int dwPathSize, BOOL bIncludeTempDir);
|
||||
HRESULT AddArchiveToIdiFile(siC *siCObject,
|
||||
char *szSFile,
|
||||
char *szFileIdiGetArchives);
|
||||
int SiCNodeGetIndexDS(char *szInDescriptionShort);
|
||||
|
@ -128,74 +127,74 @@ int SiCNodeGetIndexRN(char *szInReferenceName);
|
|||
void ViewSiComponentsDependency(char *szBuffer, char *szIndentation, siC *siCNode);
|
||||
void ViewSiComponentsDependee(char *szBuffer, char *szIndentation, siC *siCNode);
|
||||
void ViewSiComponents(void);
|
||||
BOOL IsWin95Debute(void);
|
||||
ULONGLONG GetDiskSpaceRequired(ULONG dwType);
|
||||
ULONGLONG GetDiskSpaceAvailable(PSZ szPath);
|
||||
APIRET VerifyDiskSpace(void);
|
||||
APIRET ErrorMsgDiskSpace(ULONGLONG ullDSAvailable, ULONGLONG ullDSRequired, PSZ szPath, BOOL bCrutialMsg);
|
||||
ULONGLONG GetDiskSpaceRequired(DWORD dwType);
|
||||
ULONGLONG GetDiskSpaceAvailable(LPSTR szPath);
|
||||
HRESULT VerifyDiskSpace(void);
|
||||
HRESULT ErrorMsgDiskSpace(ULONGLONG ullDSAvailable, ULONGLONG ullDSRequired, LPSTR szPath, BOOL bCrutialMsg);
|
||||
void SetCustomType(void);
|
||||
void GetAlternateArchiveSearchPath(PSZ lpszCmdLine);
|
||||
void GetAlternateArchiveSearchPath(LPSTR lpszCmdLine);
|
||||
BOOL NeedReboot(void);
|
||||
BOOL LocatePreviousPath(PSZ szMainSectionName, PSZ szPath, ULONG dwPathSize);
|
||||
BOOL LocatePathNscpReg(PSZ szSection, PSZ szPath, ULONG dwPathSize);
|
||||
BOOL LocatePathWinReg(PSZ szSection, PSZ szPath, ULONG dwPathSize);
|
||||
BOOL LocatePath(PSZ szSection, PSZ szPath, ULONG dwPathSize);
|
||||
BOOL LocatePreviousPath(LPSTR szMainSectionName, LPSTR szPath, DWORD dwPathSize);
|
||||
BOOL LocatePathNscpReg(LPSTR szSection, LPSTR szPath, DWORD dwPathSize);
|
||||
BOOL LocatePathWinReg(LPSTR szSection, LPSTR szPath, DWORD dwPathSize);
|
||||
BOOL LocatePath(LPSTR szSection, LPSTR szPath, DWORD dwPathSize);
|
||||
int VR_GetPath(char *component_path, unsigned long sizebuf, char *buf);
|
||||
dsN *CreateDSNode();
|
||||
void DsNodeInsert(dsN **dsNHead, dsN *dsNTemp);
|
||||
void DsNodeDelete(dsN **dsNTemp);
|
||||
void DeInitDSNode(dsN **dsnComponentDSRequirement);
|
||||
void UpdatePathDiskSpaceRequired(PSZ szPath, ULONGLONG ullInstallSize, dsN **dsnComponentDSRequirement);
|
||||
APIRET InitComponentDiskSpaceInfo(dsN **dsnComponentDSRequirement);
|
||||
APIRET CheckInstances();
|
||||
void UpdatePathDiskSpaceRequired(LPSTR szPath, ULONGLONG ullInstallSize, dsN **dsnComponentDSRequirement);
|
||||
HRESULT InitComponentDiskSpaceInfo(dsN **dsnComponentDSRequirement);
|
||||
HRESULT CheckInstances();
|
||||
long RandomSelect(void);
|
||||
BOOL CheckLegacy(HWND hDlg);
|
||||
COLOR DecryptFontColor(PSZ szColor);
|
||||
COLORREF DecryptFontColor(LPSTR szColor);
|
||||
ssi *CreateSsiSiteSelectorNode();
|
||||
void SsiSiteSelectorNodeInsert(ssi **ssiHead, ssi *ssiTemp);
|
||||
void SsiSiteSelectorNodeDelete(ssi *ssiTemp);
|
||||
ssi* SsiGetNode(PSZ szDescription);
|
||||
ssi* SsiGetNode(LPSTR szDescription);
|
||||
void UpdateSiteSelector(void);
|
||||
ULONG GetAdditionalComponentsCount(void);
|
||||
ULONG GetTotalArchivesToDownload();
|
||||
void RemoveQuotes(PSZ lpszSrc, PSZ lpszDest, int iDestSize);
|
||||
PSZ GetFirstNonSpace(PSZ lpszString);
|
||||
int GetArgC(PSZ lpszCommandLine);
|
||||
PSZ GetArgV(PSZ lpszCommandLine,
|
||||
DWORD GetAdditionalComponentsCount(void);
|
||||
DWORD GetTotalArchivesToDownload();
|
||||
void RemoveQuotes(LPSTR lpszSrc, LPSTR lpszDest, int iDestSize);
|
||||
LPSTR GetFirstNonSpace(LPSTR lpszString);
|
||||
int GetArgC(LPSTR lpszCommandLine);
|
||||
LPSTR GetArgV(LPSTR lpszCommandLine,
|
||||
int iIndex,
|
||||
PSZ lpszDest,
|
||||
LPSTR lpszDest,
|
||||
int iDestSize);
|
||||
ULONG ParseCommandLine(PSZ lpszCmdLine);
|
||||
void SetSetupRunMode(PSZ szMode);
|
||||
void Delay(ULONG dwSeconds);
|
||||
ULONG ParseCommandLine(int argc, char *argv[]);
|
||||
void SetSetupRunMode(LPSTR szMode);
|
||||
void Delay(ULONG ulSeconds);
|
||||
void UnsetSetupState(void);
|
||||
void SetSetupState(char *szState);
|
||||
siCD *InitWinInitNodes(char *szInFile);
|
||||
void UpdateWininit(PSZ szUninstallFilename);
|
||||
char *GetSaveInstallerPath(char *szBuf, ULONG dwBufSize);
|
||||
void UpdateWininit(LPSTR szUninstallFilename);
|
||||
char *GetSaveInstallerPath(char *szBuf, DWORD dwBufSize);
|
||||
void SaveInstallerFiles(void);
|
||||
void ResetComponentAttributes(char *szFileIni);
|
||||
BOOL IsInList(ULONG dwCurrentItem,
|
||||
ULONG dwItems,
|
||||
ULONG *dwItemsSelected);
|
||||
BOOL IsInList(DWORD dwCurrentItem,
|
||||
DWORD dwItems,
|
||||
DWORD *dwItemsSelected);
|
||||
int LocateExistingPath(char *szPath,
|
||||
char *szExistingPath,
|
||||
ULONG dwExistingPathSize);
|
||||
BOOL ContainsReparseTag(char *szPath,
|
||||
char *szReparsePath,
|
||||
ULONG dwReparsePathSize);
|
||||
DWORD dwExistingPathSize);
|
||||
BOOL DeleteInstallLogFile(char *szFile);
|
||||
int CRCCheckDownloadedArchives(char *szCorruptedArchiveList,
|
||||
ULONG dwCorruptedArchivelistSize,
|
||||
DWORD dwCorruptedArchivelistSize,
|
||||
char *szFileIdiGetArchives);
|
||||
int CRCCheckArchivesStartup(char *szCorruptedArchiveList,
|
||||
ULONG dwCorruptedArchiveListSize,
|
||||
DWORD dwCorruptedArchiveListSize,
|
||||
BOOL bIncludeTempPath);
|
||||
BOOL ResolveForceUpgrade(siC *siCObject);
|
||||
void SwapFTPAndHTTP(char *szInUrl, ULONG dwInUrlSize);
|
||||
void ClearWinRegUninstallFileDeletion(void);
|
||||
BOOL ResolveSupersede(siC *siCObject);
|
||||
void RestoreInvisibleFlag(siC *siCNode);
|
||||
void RestoreAdditionalFlag(siC *siCNode);
|
||||
void SwapFTPAndHTTP(char *szInUrl, DWORD dwInUrlSize);
|
||||
int AppendToGlobalMessageStream(char *szInfo);
|
||||
char *GetOSTypeString(char *szOSType, ULONG dwOSTypeBufSize);
|
||||
char *GetOSTypeString(char *szOSType, ULONG ulOSTypeBufSize);
|
||||
int UpdateIdiFile(char *szPartialUrl,
|
||||
ULONG dwPartialUrlBufSize,
|
||||
DWORD dwPartialUrlBufSize,
|
||||
siC *siCObject,
|
||||
char *szSection,
|
||||
char *szKey,
|
||||
|
@ -204,8 +203,12 @@ void SetDownloadFile(void);
|
|||
void UnsetSetupCurrentDownloadFile(void);
|
||||
void SetSetupCurrentDownloadFile(char *szCurrentFilename);
|
||||
char *GetSetupCurrentDownloadFile(char *szCurrentDownloadFile,
|
||||
ULONG dwCurrentDownloadFileBufSize);
|
||||
DWORD dwCurrentDownloadFileBufSize);
|
||||
BOOL DeleteWGetLog(void);
|
||||
DWORD ParseOSType(char *szOSType);
|
||||
BOOL ShowAdditionalOptionsDialog(void);
|
||||
DWORD GetPreviousUnfinishedState(void);
|
||||
void RefreshIcons();
|
||||
|
||||
#endif /* _EXTRA_H_ */
|
||||
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,73 +20,82 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _IFUNCNS_H_
|
||||
#define _IFUNCNS_H_
|
||||
|
||||
APIRET TimingCheck(ULONG dwTiming, PSZ szSection, PSZ szFile);
|
||||
APIRET FileUncompress(PSZ szFrom, PSZ szTo);
|
||||
APIRET ProcessXpcomFile(void);
|
||||
APIRET CleanupXpcomFile(void);
|
||||
APIRET ProcessUncompressFile(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET FileMove(PSZ szFrom, PSZ szTo);
|
||||
APIRET ProcessMoveFile(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET FileCopy(PSZ szFrom, PSZ szTo, BOOL bFailIfExists, BOOL bDnu);
|
||||
APIRET ProcessCopyFile(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET ProcessCreateDirectory(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET FileDelete(PSZ szDestination);
|
||||
APIRET ProcessDeleteFile(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET DirectoryRemove(PSZ szDestination, BOOL bRemoveSubdirs);
|
||||
APIRET ProcessRemoveDirectory(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET ProcessRunApp(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET ProcessWinReg(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET CreateALink(PSZ lpszPathObj,
|
||||
PSZ lpszPathLink,
|
||||
PSZ lpszDesc,
|
||||
PSZ lpszWorkingPath,
|
||||
PSZ lpszArgs,
|
||||
PSZ lpszIconFullPath,
|
||||
HRESULT TimingCheck(DWORD dwTiming, LPSTR szSection, LPSTR szFile);
|
||||
HRESULT FileUncompress(LPSTR szFrom, LPSTR szTo);
|
||||
HRESULT ProcessXpcomFile(void);
|
||||
HRESULT CleanupXpcomFile(void);
|
||||
HRESULT ProcessUncompressFile(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT FileMove(LPSTR szFrom, LPSTR szTo);
|
||||
HRESULT ProcessMoveFile(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT FileCopy(LPSTR szFrom, LPSTR szTo, BOOL bFailIfExists, BOOL bDnu);
|
||||
HRESULT ProcessCopyFile(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT ProcessCreateDirectory(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT ProcessCreateCustomFiles(DWORD dwTiming);
|
||||
HRESULT FileDelete(LPSTR szDestination);
|
||||
HRESULT ProcessDeleteFile(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs);
|
||||
HRESULT ProcessRemoveDirectory(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT ProcessRunApp(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT ProcessWinReg(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT CreateALink(LPSTR lpszPathObj,
|
||||
LPSTR lpszPathLink,
|
||||
LPSTR lpszDesc,
|
||||
LPSTR lpszWorkingPath,
|
||||
LPSTR lpszArgs,
|
||||
LPSTR lpszIconFullPath,
|
||||
int iIcon);
|
||||
APIRET ProcessProgramFolder(ULONG dwTiming, char *szSectionPrefix);
|
||||
APIRET ProcessProgramFolderShowCmd(void);
|
||||
APIRET CreateDirectoriesAll(char* szPath, BOOL bLogForUninstall);
|
||||
void ProcessFileOps(ULONG dwTiming, char *szSectionPrefix);
|
||||
void DeleteWinRegValue(HINI hkRootKey, PSZ szKey, PSZ szName);
|
||||
void DeleteWinRegKey(HINI hkRootKey, PSZ szKey, BOOL bAbsoluteDelete);
|
||||
ULONG GetWinReg(HINI hkRootKey, PSZ szKey, PSZ szName, PSZ szReturnValue, ULONG dwSize);
|
||||
void SetWinReg(HINI hkRootKey,
|
||||
PSZ szKey,
|
||||
HRESULT ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix);
|
||||
HRESULT ProcessProgramFolderShowCmd(void);
|
||||
HRESULT CreateDirectoriesAll(char* szPath, BOOL bLogForUninstall);
|
||||
void ProcessFileOps(DWORD dwTiming, char *szSectionPrefix);
|
||||
void DeleteWinRegValue(HKEY hkRootKey, LPSTR szKey, LPSTR szName);
|
||||
void DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete);
|
||||
DWORD GetWinReg(HKEY hkRootKey, LPSTR szKey, LPSTR szName, LPSTR szReturnValue, DWORD dwSize);
|
||||
void SetWinReg(HKEY hkRootKey,
|
||||
LPSTR szKey,
|
||||
BOOL bOverwriteKey,
|
||||
PSZ szName,
|
||||
LPSTR szName,
|
||||
BOOL bOverwriteName,
|
||||
ULONG dwType,
|
||||
PBYTE lpbData,
|
||||
ULONG dwSize,
|
||||
DWORD dwType,
|
||||
LPBYTE lpbData,
|
||||
DWORD dwSize,
|
||||
BOOL bLogForUninstall,
|
||||
BOOL bDnu);
|
||||
HINI ParseRootKey(PSZ szRootKey);
|
||||
char *ParseRootKeyString(HINI hkKey,
|
||||
PSZ szRootKey,
|
||||
ULONG dwRootKeyBufSize);
|
||||
BOOL ParseRegType(PSZ szType, ULONG *dwType);
|
||||
BOOL WinRegKeyExists(HINI hkRootKey, PSZ szKey);
|
||||
BOOL WinRegNameExists(HINI hkRootKey, PSZ szKey, PSZ szName);
|
||||
APIRET FileCopySequential(PSZ szSourcePath, PSZ szDestPath, PSZ szFilename);
|
||||
APIRET ProcessCopyFileSequential(ULONG dwTiming, char *szSectionPrefix);
|
||||
HKEY ParseRootKey(LPSTR szRootKey);
|
||||
char *ParseRootKeyString(HKEY hkKey,
|
||||
LPSTR szRootKey,
|
||||
DWORD dwRootKeyBufSize);
|
||||
BOOL ParseRegType(LPSTR szType, DWORD *dwType);
|
||||
BOOL WinRegKeyExists(HKEY hkRootKey, LPSTR szKey);
|
||||
BOOL WinRegNameExists(HKEY hkRootKey, LPSTR szKey, LPSTR szName);
|
||||
HRESULT FileCopySequential(LPSTR szSourcePath, LPSTR szDestPath, LPSTR szFilename);
|
||||
HRESULT ProcessCopyFileSequential(DWORD dwTiming, char *szSectionPrefix);
|
||||
void UpdateInstallLog(PSZ szKey, PSZ szString, BOOL bDnu);
|
||||
void UpdateInstallStatusLog(PSZ szString);
|
||||
int RegisterDll32(char *File);
|
||||
APIRET FileSelfRegister(PSZ szFilename, PSZ szDestination);
|
||||
APIRET ProcessSelfRegisterFile(ULONG dwTiming, char *szSectionPrefix);
|
||||
void UpdateJSProxyInfo(void);
|
||||
int VerifyArchive(PSZ szArchive);
|
||||
APIRET ProcessSetVersionRegistry(ULONG dwTiming, char *szSectionPrefix);
|
||||
char *BuildNumberedString(ULONG dwIndex, char *szInputStringPrefix, char *szInputString, char *szOutBuf, ULONG dwOutBufSize);
|
||||
void GetUserAgentShort(char *szUserAgent, char *szOutUAShort, ULONG dwOutUAShortSize);
|
||||
int VerifyArchive(LPSTR szArchive);
|
||||
HRESULT ProcessSetVersionRegistry(DWORD dwTiming, char *szSectionPrefix);
|
||||
char *BuildNumberedString(DWORD dwIndex, char *szInputStringPrefix, char *szInputString, char *szOutBuf, DWORD dwOutBufSize);
|
||||
void GetUserAgentShort(char *szUserAgent, char *szOutUAShort, DWORD dwOutUAShortSize);
|
||||
void CleanupPreviousVersionRegKeys(void);
|
||||
ULONG ParseRestrictedAccessKey(PSZ szKey);
|
||||
DWORD ParseRestrictedAccessKey(LPSTR szKey);
|
||||
void AppendWinReg(HKEY hkRootKey,
|
||||
LPSTR szKey,
|
||||
LPSTR szName,
|
||||
DWORD dwType,
|
||||
LPBYTE lpbData,
|
||||
BYTE delimiter,
|
||||
DWORD dwSize,
|
||||
BOOL bLogForUninstall,
|
||||
BOOL bDnu);
|
||||
HRESULT CleanupArgsRegistry();
|
||||
void ProcessFileOpsForSelectedComponents(DWORD dwTiming);
|
||||
void ProcessFileOpsForAll(DWORD dwTiming);
|
||||
|
||||
#endif /* _IFUNCNS_H_ */
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#include "extern.h"
|
||||
|
@ -31,12 +30,12 @@
|
|||
|
||||
int AppendToGlobalMessageStream(char *szInfo)
|
||||
{
|
||||
ULONG dwInfoLen = lstrlen(szInfo);
|
||||
ULONG dwMessageLen;
|
||||
DWORD dwInfoLen = strlen(szInfo);
|
||||
DWORD dwMessageLen;
|
||||
|
||||
if(gErrorMessageStream.bEnabled && gErrorMessageStream.szMessage)
|
||||
{
|
||||
dwMessageLen = lstrlen(gErrorMessageStream.szMessage);
|
||||
dwMessageLen = strlen(gErrorMessageStream.szMessage);
|
||||
if((dwInfoLen + dwMessageLen) >= gErrorMessageStream.dwMessageBufSize)
|
||||
{
|
||||
if(NS_GlobalReAlloc(&gErrorMessageStream.szMessage,
|
||||
|
@ -49,7 +48,7 @@ int AppendToGlobalMessageStream(char *szInfo)
|
|||
MAX_BUF_TINY;
|
||||
}
|
||||
|
||||
lstrcat(gErrorMessageStream.szMessage, szInfo);
|
||||
strcat(gErrorMessageStream.szMessage, szInfo);
|
||||
}
|
||||
|
||||
return(WIZ_OK);
|
||||
|
@ -58,28 +57,16 @@ int AppendToGlobalMessageStream(char *szInfo)
|
|||
void LogISTime(int iType)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
char szTime[MAX_BUF_TINY];
|
||||
char szDate[MAX_BUF_TINY];
|
||||
SYSTEMTIME stLocalTime;
|
||||
time_t rawtime;
|
||||
struct tm* timeinfo;
|
||||
|
||||
GetLocalTime(&stLocalTime);
|
||||
GetTimeFormat(LOCALE_NEUTRAL,
|
||||
LOCALE_NOUSEROVERRIDE,
|
||||
&stLocalTime,
|
||||
NULL,
|
||||
szTime,
|
||||
sizeof(szTime));
|
||||
GetDateFormat(LOCALE_NEUTRAL,
|
||||
LOCALE_NOUSEROVERRIDE,
|
||||
&stLocalTime,
|
||||
NULL,
|
||||
szDate,
|
||||
sizeof(szDate));
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
|
||||
if(iType == W_START)
|
||||
sprintf(szBuf, "Start Log: %s - %s\n", szDate, szTime);
|
||||
sprintf(szBuf, "Start Log: %s\n", asctime (timeinfo));
|
||||
else
|
||||
sprintf(szBuf, "End Log: %s - %s\n", szDate, szTime);
|
||||
sprintf(szBuf, "End Log: %s\n", asctime (timeinfo));
|
||||
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
@ -91,7 +78,7 @@ void LogISProductInfo(void)
|
|||
sprintf(szBuf, "\n Product Info:\n");
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
|
||||
switch(sgProduct.dwMode)
|
||||
switch(sgProduct.ulMode)
|
||||
{
|
||||
case SILENT:
|
||||
sprintf(szBuf, " Install mode: Silent\n");
|
||||
|
@ -105,9 +92,10 @@ void LogISProductInfo(void)
|
|||
}
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
|
||||
sprintf(szBuf, " Company name: %s\n Product name: %s\n Uninstall Filename: %s\n UserAgent: %s\n Alternate search path: %s\n",
|
||||
sprintf(szBuf, " Company name: %s\n Product name (external): %s\n Product name (internal): %s\n Uninstall Filename: %s\n UserAgent: %s\n Alternate search path: %s\n",
|
||||
sgProduct.szCompanyName,
|
||||
sgProduct.szProductName,
|
||||
sgProduct.szProductNameInternal,
|
||||
sgProduct.szUninstallFilename,
|
||||
sgProduct.szUserAgent,
|
||||
sgProduct.szAlternateArchiveSearchPath);
|
||||
|
@ -129,7 +117,7 @@ void LogISSetupType(void)
|
|||
{
|
||||
char szBuf[MAX_BUF_TINY];
|
||||
|
||||
switch(dwSetupType)
|
||||
switch(ulSetupType)
|
||||
{
|
||||
case ST_RADIO3:
|
||||
sprintf(szBuf, "\n Setup Type: %s\n",
|
||||
|
@ -253,20 +241,60 @@ void LogISComponentsToDownload(void)
|
|||
}
|
||||
}
|
||||
|
||||
void LogISDownloadProtocol(DWORD dwProtocolType)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
char szProtocolType[MAX_BUF];
|
||||
|
||||
switch(dwProtocolType)
|
||||
{
|
||||
case UP_HTTP:
|
||||
strcpy(szProtocolType, "HTTP");
|
||||
break;
|
||||
|
||||
default:
|
||||
strcpy(szProtocolType, "FTP");
|
||||
break;
|
||||
}
|
||||
|
||||
sprintf(szBuf, "\n Download protocol: %s\n", szProtocolType);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
void LogISDownloadStatus(char *szStatus, char *szFailedFile)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
siC *siCObject = NULL;
|
||||
DWORD dwIndex;
|
||||
|
||||
if(szFailedFile)
|
||||
sprintf(szBuf,
|
||||
"\n Download status:\n %s\n file: %s\n",
|
||||
"\n Download status: %s\n file: %s\n\n",
|
||||
szStatus,
|
||||
szFailedFile);
|
||||
else
|
||||
sprintf(szBuf,
|
||||
"\n Download status:\n %s\n",
|
||||
"\n Download status: %s\n",
|
||||
szStatus);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
|
||||
dwIndex = 0;
|
||||
siCObject = SiCNodeGetObject(dwIndex, TRUE, AC_ALL);
|
||||
while(siCObject)
|
||||
{
|
||||
if(siCObject->dwAttributes & SIC_SELECTED)
|
||||
{
|
||||
sprintf(szBuf, " %s: NetRetries:%d, CRCRetries:%d, NetTimeOuts:%d\n",
|
||||
siCObject->szDescriptionShort,
|
||||
siCObject->iNetRetries,
|
||||
siCObject->iCRCRetries,
|
||||
siCObject->iNetTimeOuts);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
++dwIndex;
|
||||
siCObject = SiCNodeGetObject(dwIndex, TRUE, AC_ALL);
|
||||
}
|
||||
}
|
||||
|
||||
void LogISComponentsFailedCRC(char *szList, int iWhen)
|
||||
|
@ -317,12 +345,12 @@ void LogISXPInstallComponent(char *szComponentName)
|
|||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
void LogISXPInstallComponentResult(ULONG dwErrorNumber)
|
||||
void LogISXPInstallComponentResult(DWORD dwErrorNumber)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
char szErrorString[MAX_BUF];
|
||||
|
||||
GetErrorString(dwErrorNumber, szErrorString, sizeof(szErrorString));
|
||||
// GetErrorString(dwErrorNumber, szErrorString, sizeof(szErrorString));
|
||||
sprintf(szBuf, ": %d %s\n", dwErrorNumber, szErrorString);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
@ -343,7 +371,15 @@ void LogISLaunchAppsComponent(char *szComponentName)
|
|||
{
|
||||
char szBuf[MAX_BUF];
|
||||
|
||||
sprintf(szBuf, " %s\n", szComponentName);
|
||||
sprintf(szBuf, " launching %s\n", szComponentName);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
void LogISLaunchAppsComponentUncompress(char *szComponentName, DWORD dwErr)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
|
||||
sprintf(szBuf, " uncompressing %s: %d\n", szComponentName, dwErr);
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
|
@ -361,7 +397,7 @@ void LogISProcessXpcomFile(int iStatus, int iResult)
|
|||
|
||||
void LogISDiskSpace(dsN *dsnComponentDSRequirement)
|
||||
{
|
||||
ULONGLONG ullDSAvailable;
|
||||
ULONG ulDSAvailable;
|
||||
dsN *dsnTemp = NULL;
|
||||
char szBuf[MAX_BUF];
|
||||
char szDSRequired[MAX_BUF_TINY];
|
||||
|
@ -377,9 +413,9 @@ void LogISDiskSpace(dsN *dsnComponentDSRequirement)
|
|||
if(!dsnTemp)
|
||||
break;
|
||||
|
||||
ullDSAvailable = GetDiskSpaceAvailable(dsnTemp->szVDSPath);
|
||||
_ui64toa(ullDSAvailable, szDSAvailable, 10);
|
||||
_ui64toa(dsnTemp->ullSpaceRequired, szDSRequired, 10);
|
||||
ulDSAvailable = GetDiskSpaceAvailable(dsnTemp->szVDSPath);
|
||||
itoa(ulDSAvailable, szDSAvailable, 10);
|
||||
itoa(dsnTemp->ulSpaceRequired, szDSRequired, 10);
|
||||
sprintf(szBuf,
|
||||
" Path: %s\n Required: %sKB\n Available: %sKB\n",
|
||||
dsnTemp->szVDSPath,
|
||||
|
@ -392,6 +428,18 @@ void LogISDiskSpace(dsN *dsnComponentDSRequirement)
|
|||
}
|
||||
}
|
||||
|
||||
void LogISTurboMode(BOOL bTurboMode)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
|
||||
if(bTurboMode)
|
||||
sprintf(szBuf, "\n Turbo Mode: true\n");
|
||||
else
|
||||
sprintf(szBuf, "\n Turbo Mode: false\n");
|
||||
|
||||
UpdateInstallStatusLog(szBuf);
|
||||
}
|
||||
|
||||
void LogMSProductInfo(void)
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
|
@ -403,22 +451,42 @@ void LogMSProductInfo(void)
|
|||
sgProduct.szProductName,
|
||||
sgProduct.szUserAgent,
|
||||
szOSType,
|
||||
gSystemInfo.dwMajorVersion,
|
||||
gSystemInfo.dwMinorVersion,
|
||||
gSystemInfo.dwBuildNumber,
|
||||
gSystemInfo.ulMajorVersion,
|
||||
gSystemInfo.ulMinorVersion,
|
||||
gSystemInfo.ulBuildNumber,
|
||||
gSystemInfo.szExtraString);
|
||||
else
|
||||
sprintf(szBuf, "UserAgent=%s/%s (%s,%d.%d.%d)",
|
||||
sgProduct.szProductName,
|
||||
sgProduct.szUserAgent,
|
||||
szOSType,
|
||||
gSystemInfo.dwMajorVersion,
|
||||
gSystemInfo.dwMinorVersion,
|
||||
gSystemInfo.dwBuildNumber);
|
||||
gSystemInfo.ulMajorVersion,
|
||||
gSystemInfo.ulMinorVersion,
|
||||
gSystemInfo.ulBuildNumber);
|
||||
|
||||
AppendToGlobalMessageStream(szBuf);
|
||||
}
|
||||
|
||||
void LogMSDownloadProtocol(DWORD dwProtocolType)
|
||||
{
|
||||
char szMessageStream[MAX_BUF_TINY];
|
||||
char szProtocolType[MAX_BUF];
|
||||
|
||||
switch(dwProtocolType)
|
||||
{
|
||||
case UP_HTTP:
|
||||
strcpy(szProtocolType, "HTTP");
|
||||
break;
|
||||
|
||||
default:
|
||||
strcpy(szProtocolType, "FTP");
|
||||
break;
|
||||
}
|
||||
|
||||
sprintf(szMessageStream, "&DownloadProtocol=%s", szProtocolType);
|
||||
AppendToGlobalMessageStream(szMessageStream);
|
||||
}
|
||||
|
||||
void LogMSDownloadStatus(int iDownloadStatus)
|
||||
{
|
||||
char szMessageStream[MAX_BUF_TINY];
|
||||
|
@ -431,7 +499,7 @@ void LogMSDownloadStatus(int iDownloadStatus)
|
|||
void LogMSDownloadFileStatus(void)
|
||||
{
|
||||
siC *siCObject = NULL;
|
||||
ULONG dwIndex;
|
||||
DWORD dwIndex;
|
||||
char szMessageStream[MAX_BUF];
|
||||
|
||||
memset(szMessageStream, 0, sizeof(szMessageStream));
|
||||
|
@ -439,17 +507,20 @@ void LogMSDownloadFileStatus(void)
|
|||
siCObject = SiCNodeGetObject(dwIndex, TRUE, AC_ALL);
|
||||
while(siCObject)
|
||||
{
|
||||
if(siCObject->iNetRetries || siCObject->iCRCRetries)
|
||||
if(siCObject->iNetRetries ||
|
||||
siCObject->iCRCRetries ||
|
||||
siCObject->iNetTimeOuts)
|
||||
{
|
||||
char szFileInfo[MAX_BUF_SMALL];
|
||||
|
||||
sprintf(szFileInfo,
|
||||
"&%s=%d,%d",
|
||||
"&%s=%d,%d,%d",
|
||||
siCObject->szArchiveName,
|
||||
siCObject->iNetRetries,
|
||||
siCObject->iCRCRetries);
|
||||
siCObject->iCRCRetries,
|
||||
siCObject->iNetTimeOuts);
|
||||
|
||||
lstrcat(szMessageStream, szFileInfo);
|
||||
strcat(szMessageStream, szFileInfo);
|
||||
}
|
||||
++dwIndex;
|
||||
siCObject = SiCNodeGetObject(dwIndex, TRUE, AC_ALL);
|
||||
|
@ -482,3 +553,11 @@ void LogMSXPInstallStatus(char *szFile, int iErr)
|
|||
gErrorMessageStream.bSendMessage = TRUE;
|
||||
}
|
||||
|
||||
void LogMSTurboMode(BOOL bTurboMode)
|
||||
{
|
||||
char szMessageStream[MAX_BUF];
|
||||
|
||||
sprintf(szMessageStream, "&TM=%d", bTurboMode);
|
||||
AppendToGlobalMessageStream(szMessageStream);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _LOGGING_H_
|
||||
|
@ -33,17 +32,23 @@ void LogISComponentsSelected(void);
|
|||
void LogISComponentsToDownload(void);
|
||||
void LogISComponentsFailedCRC(char *szList, int iWhen);
|
||||
void LogISDownloadStatus(char *szStatus, char *szFailedFile);
|
||||
void LogISDownloadProtocol(DWORD dwProtocolType);
|
||||
void LogISXPInstall(int iWhen);
|
||||
void LogISXPInstallComponent(char *szComponentName);
|
||||
void LogISXPInstallComponentResult(ULONG dwErrorNumber);
|
||||
void LogISXPInstallComponentResult(DWORD dwErrorNumber);
|
||||
void LogISLaunchApps(int iWhen);
|
||||
void LogISLaunchAppsComponent(char *szComponentName);
|
||||
void LogISLaunchAppsComponentUncompress(char *szComponentName,
|
||||
DWORD dwErr);
|
||||
void LogISProcessXpcomFile(int iStatus, int iResult);
|
||||
void LogISDiskSpace(dsN *dsnComponentDSRequirement);
|
||||
void LogISTurboMode(BOOL bTurboMode);
|
||||
void LogMSProductInfo(void);
|
||||
void LogMSDownloadFileStatus(void);
|
||||
void LogMSDownloadStatus(int iDownloadStatus);
|
||||
void LogMSDownloadProtocol(DWORD dwProtocolType);
|
||||
void LogMSXPInstallStatus(char *szFile, int iErr);
|
||||
void LogMSTurboMode(BOOL bTurboMode);
|
||||
|
||||
#endif /* _LOGGING_H_ */
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ NS_COM char* nsEscape(const char * str, nsEscapeMask mask)
|
|||
{
|
||||
if(!str)
|
||||
return NULL;
|
||||
return nsEscapeCount(str, lstrlen(str), mask, NULL);
|
||||
return nsEscapeCount(str, strlen(str), mask, NULL);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
|
|
@ -0,0 +1,333 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code,
|
||||
* released March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Samir Gehani <sgehani@netscape.com>
|
||||
*/
|
||||
|
||||
|
||||
#include "nsINIParser.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
unsigned long GetPrivateProfileString(const char* szAppName,
|
||||
const char* szKeyName,
|
||||
const char* szDefault,
|
||||
char* szReturnedString,
|
||||
int nSize,
|
||||
const char* szFileName)
|
||||
{
|
||||
nsINIParser parser((char*)szFileName);
|
||||
if (parser.GetString((char*)szAppName, (char*)szKeyName, szReturnedString, &nSize) != nsINIParser::OK) {
|
||||
if (szDefault) {
|
||||
strcpy(szReturnedString, szDefault);
|
||||
}
|
||||
}
|
||||
return strlen(szReturnedString);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
nsINIParser::nsINIParser(char *aFilename)
|
||||
{
|
||||
FILE *fd = NULL;
|
||||
long eofpos = 0;
|
||||
int rd = 0;
|
||||
|
||||
mFileBuf = NULL;
|
||||
mFileBufSize = 0;
|
||||
mError = OK;
|
||||
DUMP("nsINIParser");
|
||||
|
||||
/* param check */
|
||||
if (!aFilename)
|
||||
{
|
||||
mError = E_PARAM;
|
||||
return;
|
||||
}
|
||||
|
||||
/* open the file */
|
||||
fd = fopen(aFilename, "r");
|
||||
if (!fd)
|
||||
goto bail;
|
||||
|
||||
/* get file size */
|
||||
if (fseek(fd, 0, SEEK_END) != 0)
|
||||
goto bail;
|
||||
eofpos = ftell(fd);
|
||||
if (eofpos == 0)
|
||||
goto bail;
|
||||
|
||||
/* malloc an internal buf the size of the file */
|
||||
mFileBuf = (char *) malloc(eofpos * sizeof(char));
|
||||
if (!mFileBuf)
|
||||
{
|
||||
mError = E_MEM;
|
||||
return;
|
||||
}
|
||||
mFileBufSize = eofpos;
|
||||
|
||||
/* read the file in one swoop */
|
||||
if (fseek(fd, 0, SEEK_SET) != 0)
|
||||
goto bail;
|
||||
rd = fread((void *)mFileBuf, 1, eofpos, fd);
|
||||
if (!rd)
|
||||
goto bail;
|
||||
|
||||
/* close file */
|
||||
fclose(fd);
|
||||
|
||||
return;
|
||||
|
||||
bail:
|
||||
mError = E_READ;
|
||||
return;
|
||||
}
|
||||
|
||||
nsINIParser::~nsINIParser()
|
||||
{
|
||||
DUMP("~nsINIParser");
|
||||
}
|
||||
|
||||
int
|
||||
nsINIParser::GetString( char *aSection, char *aKey,
|
||||
char *aValBuf, int *aIOValBufSize )
|
||||
{
|
||||
char *secPtr = NULL;
|
||||
mError = OK;
|
||||
DUMP("GetString");
|
||||
|
||||
/* param check */
|
||||
if ( !aSection || !aKey || !aValBuf ||
|
||||
!aIOValBufSize || (*aIOValBufSize <= 0) )
|
||||
return E_PARAM;
|
||||
|
||||
/* find the section if it exists */
|
||||
mError = FindSection(aSection, &secPtr);
|
||||
if (mError != OK)
|
||||
return mError;
|
||||
|
||||
/* find the key if it exists in the valid section we found */
|
||||
mError = FindKey(secPtr, aKey, aValBuf, aIOValBufSize);
|
||||
|
||||
return mError;
|
||||
}
|
||||
|
||||
int
|
||||
nsINIParser::GetStringAlloc( char *aSection, char *aKey,
|
||||
char **aOutBuf, int *aOutBufSize )
|
||||
{
|
||||
char buf[MAX_VAL_SIZE];
|
||||
int bufsize = MAX_VAL_SIZE;
|
||||
mError = OK;
|
||||
DUMP("GetStringAlloc");
|
||||
|
||||
mError = GetString(aSection, aKey, buf, &bufsize);
|
||||
if (mError != OK)
|
||||
return mError;
|
||||
|
||||
*aOutBuf = (char *) malloc(bufsize + 1);
|
||||
strncpy(*aOutBuf, buf, bufsize);
|
||||
*(*aOutBuf + bufsize) = 0;
|
||||
*aOutBufSize = bufsize + 1;
|
||||
|
||||
return mError;
|
||||
}
|
||||
|
||||
int
|
||||
nsINIParser::GetError()
|
||||
{
|
||||
DUMP("GetError");
|
||||
return mError;
|
||||
}
|
||||
|
||||
char *
|
||||
nsINIParser::ResolveName(char *aINIRoot)
|
||||
{
|
||||
char *resolved = NULL;
|
||||
char *locale = NULL;
|
||||
struct stat st_exists;
|
||||
|
||||
/* param check */
|
||||
if (!aINIRoot)
|
||||
return NULL;
|
||||
|
||||
locale = setlocale(LC_CTYPE, NULL);
|
||||
if (!locale)
|
||||
return NULL;
|
||||
|
||||
/* resolved string: "<root>.ini.<locale>\0" */
|
||||
resolved = (char *) malloc(strlen(aINIRoot) + 5 + strlen(locale) + 1);
|
||||
if (!resolved)
|
||||
return NULL;
|
||||
|
||||
/* locale specific ini file name */
|
||||
sprintf(resolved, "%s.ini.%s", aINIRoot, locale);
|
||||
if (0 == stat(resolved, &st_exists))
|
||||
return resolved;
|
||||
|
||||
/* fallback to general ini file name */
|
||||
sprintf(resolved, "%s.ini", aINIRoot);
|
||||
if (0 == stat(resolved, &st_exists))
|
||||
return resolved;
|
||||
|
||||
/* neither existed so error returned */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
nsINIParser::FindSection(char *aSection, char **aOutSecPtr)
|
||||
{
|
||||
char *currChar = mFileBuf;
|
||||
char *nextSec = NULL;
|
||||
char *secClose = NULL;
|
||||
char *nextNL = NULL;
|
||||
mError = E_NO_SEC;
|
||||
DUMP("FindSection");
|
||||
|
||||
// param check
|
||||
if (!aSection || !aOutSecPtr)
|
||||
{
|
||||
mError = E_PARAM;
|
||||
return mError;
|
||||
}
|
||||
|
||||
while (currChar < (mFileBuf + mFileBufSize))
|
||||
{
|
||||
// look for first '['
|
||||
nextSec = NULL;
|
||||
nextSec = strchr(currChar, '[');
|
||||
if (!nextSec)
|
||||
break;
|
||||
|
||||
currChar = nextSec + 1;
|
||||
|
||||
// extract section name till first ']'
|
||||
secClose = NULL; nextNL = NULL;
|
||||
secClose = strchr(currChar, ']');
|
||||
nextNL = strchr(currChar, NL);
|
||||
if ((!nextNL) || (nextNL < secClose))
|
||||
{
|
||||
currChar = nextNL;
|
||||
continue;
|
||||
}
|
||||
|
||||
// if section name matches we succeeded
|
||||
if (strnicmp(aSection, currChar, strlen(aSection)) == 0)
|
||||
{
|
||||
*aOutSecPtr = secClose + 1;
|
||||
mError = OK;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return mError;
|
||||
}
|
||||
|
||||
int
|
||||
nsINIParser::FindKey(char *aSecPtr, char *aKey, char *aVal, int *aIOValSize)
|
||||
{
|
||||
char *nextNL = NULL;
|
||||
char *secEnd = NULL;
|
||||
char *currLine = aSecPtr;
|
||||
char *nextEq = NULL;
|
||||
mError = E_NO_KEY;
|
||||
DUMP("FindKey");
|
||||
|
||||
// param check
|
||||
if (!aSecPtr || !aKey || !aVal || !aIOValSize || (*aIOValSize <= 0))
|
||||
{
|
||||
mError = E_PARAM;
|
||||
return mError;
|
||||
}
|
||||
|
||||
// determine the section end
|
||||
secEnd = aSecPtr;
|
||||
find_end:
|
||||
if (secEnd)
|
||||
secEnd = strchr(secEnd, '['); // search for next sec start
|
||||
if (!secEnd)
|
||||
{
|
||||
secEnd = strchr(aSecPtr, '\0'); // else search for file end
|
||||
if (!secEnd)
|
||||
{
|
||||
mError = E_SEC_CORRUPT; // else this data is corrupt
|
||||
return mError;
|
||||
}
|
||||
}
|
||||
|
||||
// handle start section token ('[') in values for i18n
|
||||
if (*secEnd == '[' && !(secEnd == aSecPtr || *(secEnd-1) == NL))
|
||||
{
|
||||
secEnd++;
|
||||
goto find_end;
|
||||
}
|
||||
|
||||
while (currLine < secEnd)
|
||||
{
|
||||
nextNL = NULL;
|
||||
nextNL = strchr(currLine, NL);
|
||||
if (!nextNL)
|
||||
nextNL = mFileBuf + mFileBufSize;
|
||||
|
||||
// ignore commented lines (starting with ;)
|
||||
if (currLine == strchr(currLine, ';'))
|
||||
{
|
||||
currLine = nextNL + 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
// extract key before '='
|
||||
nextEq = NULL;
|
||||
nextEq = strchr(currLine, '=');
|
||||
if (!nextEq || nextEq > nextNL)
|
||||
{
|
||||
currLine = nextNL + 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
// if key matches we succeeded
|
||||
if (strnicmp(currLine, aKey, strlen(aKey)) == 0)
|
||||
{
|
||||
// extract the value and return
|
||||
if (*aIOValSize < nextNL - nextEq)
|
||||
{
|
||||
mError = E_SMALL_BUF;
|
||||
*aVal = '\0';
|
||||
*aIOValSize = 0;
|
||||
return mError;
|
||||
}
|
||||
|
||||
*aIOValSize = nextNL - (nextEq + 1);
|
||||
strncpy(aVal, (nextEq + 1), *aIOValSize);
|
||||
*(aVal + *aIOValSize) = 0; // null terminate
|
||||
mError = OK;
|
||||
return mError;
|
||||
}
|
||||
else
|
||||
{
|
||||
currLine = nextNL + 1;
|
||||
}
|
||||
}
|
||||
|
||||
return mError;
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code,
|
||||
* released March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Samir Gehani <sgehani@netscape.com>
|
||||
*/
|
||||
|
||||
#ifndef _NS_INIPARSER_H_
|
||||
#define _NS_INIPARSER_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <malloc.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <locale.h>
|
||||
|
||||
class nsINIParser
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* nsINIParser
|
||||
*
|
||||
* Construct a new INI parser for the file specified.
|
||||
*
|
||||
* @param aFilename path to INI file
|
||||
*/
|
||||
nsINIParser(char *aFilename);
|
||||
~nsINIParser();
|
||||
|
||||
/**
|
||||
* GetString
|
||||
*
|
||||
* Gets the value of the specified key in the specified section
|
||||
* of the INI file represented by this instance. The value is stored
|
||||
* in the supplied buffer. The buffer size is provided as input and
|
||||
* the actual bytes used by the value is set in the in/out size param.
|
||||
*
|
||||
* @param aSection section name
|
||||
* @param aKey key name
|
||||
* @param aValBuf user supplied buffer
|
||||
* @param aIOValBufSize buf size on input; actual buf used on output
|
||||
*
|
||||
* @return mError operation success code
|
||||
*/
|
||||
int GetString( char *aSection, char *aKey,
|
||||
char *aValBuf, int *aIOValBufSize );
|
||||
|
||||
/**
|
||||
* GetStringAlloc
|
||||
*
|
||||
* Same as GetString() except the buffer is allocated to the exact
|
||||
* size of the value. Useful when the buffer is allocated everytime
|
||||
* rather than reusing the same buffer when calling this function
|
||||
* multiple times.
|
||||
*
|
||||
* @param aSection section name
|
||||
* @param aKey key name
|
||||
* @param aOutBuf buffer to be allocated
|
||||
* @param aOutBufSize size of newly allocated buffer
|
||||
*
|
||||
* @return mError operation success code
|
||||
*/
|
||||
int GetStringAlloc( char *aSection, char *aKey,
|
||||
char **aOutBuf, int *aOutBufSize );
|
||||
|
||||
/**
|
||||
* GetError
|
||||
*
|
||||
* Exposes the last error on this instance. Useful for checking
|
||||
* the state of the object after construction since the INI file
|
||||
* is parsed once at object-allocation time.
|
||||
*
|
||||
* @return mError last error on ops on this object
|
||||
*/
|
||||
int GetError();
|
||||
|
||||
/**
|
||||
* ResolveName
|
||||
*
|
||||
* Given a "root" name we append the runtime locale of the
|
||||
* current system to the <root>.ini. If such a file exists we
|
||||
* return this as the name else simply return <root>.ini.
|
||||
*
|
||||
* NOTE: Returned string is allocated and caller is responsible
|
||||
* ---- for its deallocation.
|
||||
*
|
||||
* @param aINIRoot the "root" of the INI file name
|
||||
* @return resolved the resolved INI file name
|
||||
* (NULL if neither exist)
|
||||
*/
|
||||
static char *ResolveName(char *aINIRoot);
|
||||
|
||||
/*--------------------------------------------------------------------*
|
||||
* Errors
|
||||
*--------------------------------------------------------------------*/
|
||||
enum
|
||||
{
|
||||
OK = 0,
|
||||
E_READ = -701,
|
||||
E_MEM = -702,
|
||||
E_PARAM = -703,
|
||||
E_NO_SEC = -704,
|
||||
E_NO_KEY = -705,
|
||||
E_SEC_CORRUPT = -706,
|
||||
E_SMALL_BUF = -707
|
||||
};
|
||||
|
||||
private:
|
||||
int FindSection(char *aSection, char **aOutSecPtr);
|
||||
int FindKey(char *aSecPtr, char *aKey, char *aVal, int *aIOValSize);
|
||||
|
||||
char *mFileBuf;
|
||||
int mFileBufSize;
|
||||
int mError;
|
||||
};
|
||||
|
||||
#define NL '\n'
|
||||
#define MAX_VAL_SIZE 512
|
||||
|
||||
#if defined(DUMP)
|
||||
#undef DUMP
|
||||
#endif
|
||||
#if defined(DEBUG_sgehani) || defined(DEBUG_druidd) || defined(DEBUG_root)
|
||||
#define DUMP(_msg) printf("%s %d: %s \n", __FILE__, __LINE__, _msg);
|
||||
#else
|
||||
#define DUMP(_msg)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /*_NS_INIPARSER_H_ */
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#define IDS_ERROR_DLL_LOAD 1
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#include "setup.h"
|
||||
|
@ -29,43 +28,41 @@
|
|||
#include "ifuncns.h"
|
||||
|
||||
/* global variables */
|
||||
HOBJECT hInst;
|
||||
HOBJECT hSetupRscInst;
|
||||
HOBJECT hSDInst;
|
||||
HOBJECT hXPIStubInst;
|
||||
HINSTANCE hInst;
|
||||
HINSTANCE hSetupRscInst;
|
||||
HINSTANCE hSDInst;
|
||||
HINSTANCE hXPIStubInst;
|
||||
|
||||
HBITMAP hbmpBoxChecked;
|
||||
HBITMAP hbmpBoxCheckedDisabled;
|
||||
HBITMAP hbmpBoxUnChecked;
|
||||
|
||||
LHANDLE hAccelTable;
|
||||
|
||||
HWND hDlgCurrent;
|
||||
HWND hDlgMessage;
|
||||
HWND hWndMain;
|
||||
|
||||
PSZ szEGlobalAlloc;
|
||||
PSZ szEStringLoad;
|
||||
PSZ szEDllLoad;
|
||||
PSZ szEStringNull;
|
||||
PSZ szTempSetupPath;
|
||||
LPSTR szEGlobalAlloc;
|
||||
LPSTR szEStringLoad;
|
||||
LPSTR szEDllLoad;
|
||||
LPSTR szEStringNull;
|
||||
LPSTR szTempSetupPath;
|
||||
|
||||
PSZ szSetupDir;
|
||||
PSZ szTempDir;
|
||||
PSZ szOSTempDir;
|
||||
PSZ szFileIniConfig;
|
||||
PSZ szFileIniInstall;
|
||||
LPSTR szSetupDir;
|
||||
LPSTR szTempDir;
|
||||
LPSTR szOSTempDir;
|
||||
LPSTR szFileIniConfig;
|
||||
LPSTR szFileIniInstall;
|
||||
|
||||
PSZ szSiteSelectorDescription;
|
||||
LPSTR szSiteSelectorDescription;
|
||||
|
||||
ULONG dwWizardState;
|
||||
ULONG dwSetupType;
|
||||
ULONG dwScreenX;
|
||||
ULONG dwScreenY;
|
||||
DWORD ulWizardState;
|
||||
ULONG ulSetupType;
|
||||
LONG lScreenX;
|
||||
LONG lScreenY;
|
||||
|
||||
ULONG dwTempSetupType;
|
||||
ULONG gdwUpgradeValue;
|
||||
ULONG gdwSiteSelectorStatus;
|
||||
DWORD ulTempSetupType;
|
||||
DWORD gulUpgradeValue;
|
||||
DWORD gulSiteSelectorStatus;
|
||||
|
||||
BOOL bSDUserCanceled;
|
||||
BOOL bIdiArchivesExists;
|
||||
|
@ -73,20 +70,23 @@ BOOL bCreateDestinationDir;
|
|||
BOOL bReboot;
|
||||
BOOL gbILUseTemp;
|
||||
BOOL gbPreviousUnfinishedDownload;
|
||||
BOOL gbPreviousUnfinishedInstallXpi;
|
||||
BOOL gbIgnoreRunAppX;
|
||||
BOOL gbIgnoreProgramFolderX;
|
||||
BOOL gbRestrictedAccess;
|
||||
BOOL gbDownloadTriggered;
|
||||
|
||||
setupGen sgProduct;
|
||||
diS diSetup;
|
||||
diW diWelcome;
|
||||
diL diLicense;
|
||||
diQL diQuickLaunch;
|
||||
diST diSetupType;
|
||||
diSC diSelectComponents;
|
||||
diSC diSelectAdditionalComponents;
|
||||
diWI diWindowsIntegration;
|
||||
diPF diProgramFolder;
|
||||
diDO diDownloadOptions;
|
||||
diDO diAdditionalOptions;
|
||||
diAS diAdvancedSettings;
|
||||
diSI diStartInstall;
|
||||
diD diDownload;
|
||||
|
@ -105,96 +105,116 @@ dsN *gdsnComponentDSRequirement = NULL;
|
|||
char *SetupFileList[] = {"setuprsc.dll",
|
||||
"config.ini",
|
||||
"setup.ini",
|
||||
"installer.ini",
|
||||
"install.ini",
|
||||
"license.txt",
|
||||
""};
|
||||
|
||||
int APIENTRY WinMain(HOBJECT hInstance, HOBJECT hPrevInstance, PSZ lpszCmdLine, int nCmdShow)
|
||||
int main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
/***********************************************************************/
|
||||
/* LHANDLE hInstance; handle for this instance */
|
||||
/* LHANDLE hPrevInstance; handle for possible previous instances */
|
||||
/* PSZ lpszCmdLine; long pointer to exec command line */
|
||||
/* int nCmdShow; Show code for main window display */
|
||||
/***********************************************************************/
|
||||
|
||||
QMSG msg;
|
||||
HAB hab;
|
||||
HMQ hmq;
|
||||
QMSG qmsg;
|
||||
char szBuf[MAX_BUF];
|
||||
int iRv = WIZ_OK;
|
||||
HWND hwndFW;
|
||||
HINI hiniInstall;
|
||||
int rc = 0;
|
||||
HENUM henum;
|
||||
|
||||
if(!hPrevInstance)
|
||||
{
|
||||
/* Allow only one instance of setup to run.
|
||||
* Detect a previous instance of setup, bring it to the
|
||||
* foreground, and quit current instance */
|
||||
if((hwndFW = FindWindow(CLASS_NAME_SETUP_DLG, NULL)) != NULL)
|
||||
{
|
||||
ShowWindow(hwndFW, SW_RESTORE);
|
||||
SetForegroundWindow(hwndFW);
|
||||
iRv = WIZ_SETUP_ALREADY_RUNNING;
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(Initialize(hInstance))
|
||||
PostQuitMessage(1);
|
||||
else if(!InitApplication(hInstance, hSetupRscInst))
|
||||
{
|
||||
char szEFailed[MAX_BUF];
|
||||
hiniInstall = PrfOpenProfile((HAB)0, szFileIniInstall);
|
||||
if(PrfQueryProfileString(hiniInstall, "Messages", "ERROR_FAILED", "", szEFailed, sizeof(szEFailed)))
|
||||
{
|
||||
sprintf(szBuf, szEFailed, "InitApplication().");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
}
|
||||
PrfCloseProfile(hiniInstall);
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(!InitInstance(hInstance, nCmdShow))
|
||||
{
|
||||
char szEFailed[MAX_BUF];
|
||||
hiniInstall = PrfOpenProfile((HAB)0, szFileIniInstall);
|
||||
if(PrfQueryProfileString(hiniInstall, "Messages", "ERROR_FAILED", "", szEFailed, sizeof(szEFailed)))
|
||||
{
|
||||
sprintf(szBuf, szEFailed, "InitInstance().");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
}
|
||||
PrfCloseProfile(hiniInstall);
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(GetInstallIni())
|
||||
{
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(ParseInstallIni())
|
||||
{
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(GetConfigIni())
|
||||
{
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else if(ParseConfigIni(lpszCmdLine))
|
||||
{
|
||||
PostQuitMessage(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
DlgSequenceNext();
|
||||
}
|
||||
}
|
||||
hab = WinInitialize( 0 );
|
||||
hmq = WinCreateMsgQueue( hab, 0 );
|
||||
|
||||
while(WinGetMsg((HAB)0, &msg, NULL, 0, 0))
|
||||
/* Allow only one instance of setup to run.
|
||||
* Detect a previous instance of setup, bring it to the
|
||||
* foreground, and quit current instance */
|
||||
|
||||
/* Iterate over top level windows searching for one of the required class
|
||||
* and a matching title.
|
||||
*/
|
||||
#ifdef OLDCODE /* @MAK - for ease of debugging */
|
||||
henum = WinBeginEnumWindows(HWND_DESKTOP);
|
||||
while ((hwndFW = WinGetNextWindow(henum)) != NULLHANDLE)
|
||||
{
|
||||
if((!IsDialogMessage(hDlgCurrent, &msg)) && (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)))
|
||||
{
|
||||
WinDispatchMsg((HAB)0, &msg);
|
||||
}
|
||||
char pszT[256];
|
||||
HWND hwndClient = NULLHANDLE;
|
||||
|
||||
/* If the window is a frame window, use the client for the class
|
||||
* comparison.
|
||||
*/
|
||||
if (((ULONG)WinSendMsg(hwndFW, WM_QUERYFRAMEINFO, NULL, NULL)) & FI_FRAME)
|
||||
hwndClient = WinWindowFromID(hwndFW, FID_CLIENT);
|
||||
|
||||
/* See if the class matches.
|
||||
*/
|
||||
WinQueryClassName(hwndClient ? hwndClient : hwndFW, sizeof(pszT), pszT);
|
||||
if (strcmp(pszT, CLASS_NAME_SETUP_DLG) == 0)
|
||||
break;
|
||||
}
|
||||
WinEndEnumWindows(henum);
|
||||
#endif
|
||||
|
||||
if(hwndFW)
|
||||
{
|
||||
WinSetWindowPos(hwndFW, 0, 0, 0, 0, 0, SWP_RESTORE);
|
||||
WinSetActiveWindow(HWND_DESKTOP, hwndFW);
|
||||
iRv = WIZ_SETUP_ALREADY_RUNNING;
|
||||
rc = 1;
|
||||
}
|
||||
else if(Initialize(0, argv[0]))
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
else if(!InitApplication(0, hSetupRscInst))
|
||||
{
|
||||
char szEFailed[MAX_BUF];
|
||||
|
||||
if(GetPrivateProfileString("Messages", "ERROR_FAILED", "", szEFailed, sizeof(szEFailed), szFileIniInstall))
|
||||
{
|
||||
sprintf(szBuf, szEFailed, "InitApplication().");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
}
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
}
|
||||
else if(!InitInstance(0))
|
||||
{
|
||||
char szEFailed[MAX_BUF];
|
||||
|
||||
if(GetPrivateProfileString("Messages", "ERROR_FAILED", "", szEFailed, sizeof(szEFailed), szFileIniInstall))
|
||||
{
|
||||
sprintf(szBuf, szEFailed, "InitInstance().");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
}
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
}
|
||||
else if(GetInstallIni())
|
||||
{
|
||||
rc = 1;
|
||||
}
|
||||
else if(ParseInstallIni())
|
||||
{
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
}
|
||||
else if(GetConfigIni())
|
||||
{
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
}
|
||||
else if(ParseConfigIni(argc, argv))
|
||||
{
|
||||
WinPostQueueMsg(0, WM_QUIT, 1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
DlgSequence(NEXT_DLG);
|
||||
}
|
||||
//#ifdef OLDCODE
|
||||
|
||||
while ( WinGetMsg( hab, &qmsg, NULLHANDLE, 0, 0 ) )
|
||||
WinDispatchMsg( hab, &qmsg );
|
||||
#ifdef OLDCODE
|
||||
|
||||
if(iRv != WIZ_SETUP_ALREADY_RUNNING)
|
||||
/* Do clean up before exiting from the application */
|
||||
DeInitialize();
|
||||
#endif
|
||||
|
||||
return(msg.wParam);
|
||||
} /* End of WinMain */
|
||||
WinDestroyMsgQueue( hmq );
|
||||
WinTerminate( hab );
|
||||
}
|
||||
|
||||
|
|
|
@ -20,14 +20,8 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#define INCL_WIN
|
||||
#define INCL_PM
|
||||
|
||||
typedef __int64 ULONGLONG;
|
||||
|
||||
#ifndef _SETUP_H_
|
||||
#define _SETUP_H_
|
||||
|
||||
|
@ -44,7 +38,7 @@ typedef __int64 ULONGLONG;
|
|||
typedef unsigned int PRUint32;
|
||||
typedef int PRInt32;
|
||||
|
||||
#include <os2.h>
|
||||
#include "winforos2.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
@ -72,6 +66,10 @@ typedef int PRInt32;
|
|||
#define FILE_ALL_JS "all-proxy.js"
|
||||
#define VR_DEFAULT_PRODUCT_NAME "Mozilla"
|
||||
|
||||
#define NEXT_DLG 1
|
||||
#define PREV_DLG 2
|
||||
#define OTHER_DLG_1 3
|
||||
|
||||
#define MAX_CRC_FAILED_DOWNLOAD_RETRIES 3
|
||||
#define MAX_FILE_DOWNLOAD_RETRIES 3
|
||||
|
||||
|
@ -151,6 +149,7 @@ typedef int PRInt32;
|
|||
#define ERROR_CODE_HIDE 0
|
||||
#define ERROR_CODE_SHOW 1
|
||||
#define DLG_NONE 0
|
||||
#define DLG_COMMIT_INSTALL 1
|
||||
#define CX_CHECKBOX 13
|
||||
#define CY_CHECKBOX 13
|
||||
|
||||
|
@ -174,6 +173,7 @@ typedef int PRInt32;
|
|||
#define FO_ERROR_FILE_NOT_FOUND 1
|
||||
#define FO_ERROR_DESTINATION_CONFLICT 2
|
||||
#define FO_ERROR_CHANGE_DIR 3
|
||||
#define FO_ERROR_WRITE 4
|
||||
|
||||
/* Mode of Setup to run in */
|
||||
#define NORMAL 0
|
||||
|
@ -201,6 +201,8 @@ typedef int PRInt32;
|
|||
#define SIC_FORCE_UPGRADE 0x00000080
|
||||
#define SIC_IGNORE_DOWNLOAD_ERROR 0x00000100
|
||||
#define SIC_IGNORE_XPINSTALL_ERROR 0x00000200
|
||||
#define SIC_UNCOMPRESS 0x00000400
|
||||
#define SIC_SUPERSEDE 0x00000800
|
||||
|
||||
/* AC: Additional Components */
|
||||
#define AC_NONE 0
|
||||
|
@ -209,14 +211,10 @@ typedef int PRInt32;
|
|||
#define AC_ALL 3
|
||||
|
||||
/* OS: Operating System */
|
||||
#define OS_WIN9x 0x00000001
|
||||
#define OS_WIN95_DEBUTE 0x00000002
|
||||
#define OS_WIN95 0x00000004
|
||||
#define OS_WIN98 0x00000008
|
||||
#define OS_NT 0x00000010
|
||||
#define OS_NT3 0x00000020
|
||||
#define OS_NT4 0x00000040
|
||||
#define OS_NT5 0x00000080
|
||||
#define OS_WARP3 0x00000001
|
||||
#define OS_WARP4 0x00000002
|
||||
#define OS_CP1 0x00000004
|
||||
#define OS_CP2 0x00000008
|
||||
|
||||
/* DSR: Disk Space Required */
|
||||
#define DSR_DESTINATION 0
|
||||
|
@ -228,47 +226,69 @@ typedef int PRInt32;
|
|||
#define SS_HIDE 0
|
||||
#define SS_SHOW 1
|
||||
|
||||
/* PUS: Previous Unfinished State */
|
||||
#define PUS_NONE 0
|
||||
#define PUS_DOWNLOAD 1
|
||||
#define PUS_UNPACK_XPCOM 2
|
||||
#define PUS_INSTALL_XPI 3
|
||||
#define SETUP_STATE_DOWNLOAD "downloading"
|
||||
#define SETUP_STATE_UNPACK_XPCOM "unpacking xpcom"
|
||||
#define SETUP_STATE_INSTALL_XPI "installing xpi"
|
||||
|
||||
|
||||
typedef struct dlgSetup
|
||||
{
|
||||
ULONG dwDlgID;
|
||||
HWND fDlgProc;
|
||||
PSZ szTitle;
|
||||
DWORD dwDlgID;
|
||||
WNDPROC fDlgProc;
|
||||
LPSTR szTitle;
|
||||
} diS;
|
||||
|
||||
typedef struct dlgWelcome
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
PSZ szMessage1;
|
||||
PSZ szMessage2;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szMessage1;
|
||||
LPSTR szMessage2;
|
||||
} diW;
|
||||
|
||||
typedef struct dlgLicense
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szLicenseFilename;
|
||||
PSZ szMessage0;
|
||||
PSZ szMessage1;
|
||||
LPSTR szTitle;
|
||||
LPSTR szLicenseFilename;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szMessage1;
|
||||
} diL;
|
||||
|
||||
typedef struct dlgQuickLaunch
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szMessage1;
|
||||
LPSTR szMessage2;
|
||||
BOOL bTurboMode;
|
||||
BOOL bTurboModeEnabled;
|
||||
} diQL;
|
||||
|
||||
|
||||
typedef struct stStruct
|
||||
{
|
||||
BOOL bVisible;
|
||||
ULONG dwCItems;
|
||||
ULONG dwCItemsSelected[MAX_BUF]; /* components */
|
||||
PSZ szDescriptionShort;
|
||||
PSZ szDescriptionLong;
|
||||
DWORD dwCItems;
|
||||
DWORD dwCItemsSelected[MAX_BUF]; /* components */
|
||||
LPSTR szDescriptionShort;
|
||||
LPSTR szDescriptionLong;
|
||||
} st;
|
||||
|
||||
typedef struct dlgSetupType
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
PSZ szReadmeFilename;
|
||||
PSZ szReadmeApp;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szReadmeFilename;
|
||||
LPSTR szReadmeApp;
|
||||
st stSetupType0;
|
||||
st stSetupType1;
|
||||
st stSetupType2;
|
||||
|
@ -278,25 +298,25 @@ typedef struct dlgSetupType
|
|||
typedef struct dlgSelectComponents
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
ULONG bShowDialogSM;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
DWORD bShowDialogSM;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
} diSC;
|
||||
|
||||
typedef struct wiCBstruct
|
||||
{
|
||||
BOOL bEnabled;
|
||||
BOOL bCheckBoxState;
|
||||
PSZ szDescription;
|
||||
PSZ szArchive;
|
||||
LPSTR szDescription;
|
||||
LPSTR szArchive;
|
||||
} wiCBs;
|
||||
|
||||
typedef struct dlgWindowsIntegration
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
PSZ szMessage1;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szMessage1;
|
||||
wiCBs wiCB0;
|
||||
wiCBs wiCB1;
|
||||
wiCBs wiCB2;
|
||||
|
@ -306,18 +326,20 @@ typedef struct dlgWindowsIntegration
|
|||
typedef struct dlgProgramFolder
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
} diPF;
|
||||
|
||||
typedef struct dlgDownloadOptions
|
||||
typedef struct dlgAdditionalOptions
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
PSZ szMessage1;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szMessage1;
|
||||
BOOL bSaveInstaller;
|
||||
ULONG dwUseProtocol;
|
||||
BOOL bRecaptureHomepage;
|
||||
BOOL bShowHomepageOption;
|
||||
DWORD dwUseProtocol;
|
||||
BOOL bUseProtocolSettings;
|
||||
BOOL bShowProtocols;
|
||||
} diDO;
|
||||
|
@ -325,83 +347,85 @@ typedef struct dlgDownloadOptions
|
|||
typedef struct dlgAdvancedSettings
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessage0;
|
||||
PSZ szProxyServer;
|
||||
PSZ szProxyPort;
|
||||
PSZ szProxyUser;
|
||||
PSZ szProxyPasswd;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessage0;
|
||||
LPSTR szProxyServer;
|
||||
LPSTR szProxyPort;
|
||||
LPSTR szProxyUser;
|
||||
LPSTR szProxyPasswd;
|
||||
} diAS;
|
||||
|
||||
typedef struct dlgStartInstall
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessageInstall;
|
||||
PSZ szMessageDownload;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessageInstall;
|
||||
LPSTR szMessageDownload;
|
||||
} diSI;
|
||||
|
||||
typedef struct dlgDownload
|
||||
{
|
||||
BOOL bShowDialog;
|
||||
PSZ szTitle;
|
||||
PSZ szMessageDownload0;
|
||||
PSZ szMessageRetry0;
|
||||
LPSTR szTitle;
|
||||
LPSTR szMessageDownload0;
|
||||
LPSTR szMessageRetry0;
|
||||
} diD;
|
||||
|
||||
typedef struct dlgReboot
|
||||
{
|
||||
ULONG dwShowDialog;
|
||||
PSZ szTitle;
|
||||
DWORD dwShowDialog;
|
||||
LPSTR szTitle;
|
||||
} diR;
|
||||
|
||||
typedef struct setupStruct
|
||||
{
|
||||
ULONG dwMode;
|
||||
ULONG dwCustomType;
|
||||
ULONG dwNumberOfComponents;
|
||||
PSZ szPath;
|
||||
PSZ szSubPath;
|
||||
PSZ szProgramName;
|
||||
PSZ szCompanyName;
|
||||
PSZ szProductName;
|
||||
PSZ szUninstallFilename;
|
||||
PSZ szUserAgent;
|
||||
PSZ szProgramFolderName;
|
||||
PSZ szProgramFolderPath;
|
||||
PSZ szAlternateArchiveSearchPath;
|
||||
PSZ szParentProcessFilename;
|
||||
ULONG ulMode;
|
||||
ULONG ulCustomType;
|
||||
ULONG ulNumberOfComponents;
|
||||
LPSTR szPath;
|
||||
LPSTR szSubPath;
|
||||
LPSTR szProgramName;
|
||||
LPSTR szCompanyName;
|
||||
LPSTR szProductName;
|
||||
LPSTR szProductNameInternal;
|
||||
LPSTR szProductNamePrevious;
|
||||
LPSTR szUninstallFilename;
|
||||
LPSTR szUserAgent;
|
||||
LPSTR szProgramFolderName;
|
||||
LPSTR szProgramFolderPath;
|
||||
LPSTR szAlternateArchiveSearchPath;
|
||||
LPSTR szParentProcessFilename;
|
||||
BOOL bLockPath;
|
||||
} setupGen;
|
||||
|
||||
typedef struct sinfoSmartDownload
|
||||
{
|
||||
PSZ szXpcomFile;
|
||||
PSZ szXpcomDir;
|
||||
PSZ szNoAds;
|
||||
PSZ szSilent;
|
||||
PSZ szExecution;
|
||||
PSZ szConfirmInstall;
|
||||
PSZ szExtractMsg;
|
||||
PSZ szExe;
|
||||
PSZ szExeParam;
|
||||
PSZ szXpcomFilePath;
|
||||
LPSTR szXpcomFile;
|
||||
LPSTR szXpcomDir;
|
||||
LPSTR szNoAds;
|
||||
LPSTR szSilent;
|
||||
LPSTR szExecution;
|
||||
LPSTR szConfirmInstall;
|
||||
LPSTR szExtractMsg;
|
||||
LPSTR szExe;
|
||||
LPSTR szExeParam;
|
||||
LPSTR szXpcomFilePath;
|
||||
} siSD;
|
||||
|
||||
typedef struct sinfoXpcomFile
|
||||
{
|
||||
PSZ szSource;
|
||||
PSZ szDestination;
|
||||
PSZ szMessage;
|
||||
LPSTR szSource;
|
||||
LPSTR szDestination;
|
||||
LPSTR szMessage;
|
||||
BOOL bCleanup;
|
||||
ULONGLONG ullInstallSize;
|
||||
ULONG ulInstallSize;
|
||||
} siCF;
|
||||
|
||||
typedef struct sinfoComponentDep siCD;
|
||||
struct sinfoComponentDep
|
||||
{
|
||||
PSZ szDescriptionShort;
|
||||
PSZ szReferenceName;
|
||||
LPSTR szDescriptionShort;
|
||||
LPSTR szReferenceName;
|
||||
siCD *Next;
|
||||
siCD *Prev;
|
||||
};
|
||||
|
@ -409,22 +433,25 @@ struct sinfoComponentDep
|
|||
typedef struct sinfoComponent siC;
|
||||
struct sinfoComponent
|
||||
{
|
||||
ULONGLONG ullInstallSize;
|
||||
ULONGLONG ullInstallSizeSystem;
|
||||
ULONGLONG ullInstallSizeArchive;
|
||||
ULONG ulInstallSize;
|
||||
ULONG ulInstallSizeSystem;
|
||||
ULONG ulInstallSizeArchive;
|
||||
long lRandomInstallPercentage;
|
||||
long lRandomInstallValue;
|
||||
ULONG dwAttributes;
|
||||
PSZ szArchiveName;
|
||||
PSZ szArchivePath;
|
||||
PSZ szDestinationPath;
|
||||
PSZ szDescriptionShort;
|
||||
PSZ szDescriptionLong;
|
||||
PSZ szParameter;
|
||||
PSZ szReferenceName;
|
||||
DWORD dwAttributes;
|
||||
LPSTR szArchiveName;
|
||||
LPSTR szArchiveNameUncompressed;
|
||||
LPSTR szArchivePath;
|
||||
LPSTR szDestinationPath;
|
||||
LPSTR szDescriptionShort;
|
||||
LPSTR szDescriptionLong;
|
||||
LPSTR szParameter;
|
||||
LPSTR szReferenceName;
|
||||
BOOL bForceUpgrade;
|
||||
BOOL bSupersede;
|
||||
int iNetRetries;
|
||||
int iCRCRetries;
|
||||
int iNetTimeOuts;
|
||||
siCD *siCDDependencies;
|
||||
siCD *siCDDependees;
|
||||
siC *Next;
|
||||
|
@ -434,15 +461,20 @@ struct sinfoComponent
|
|||
typedef struct ssInfo ssi;
|
||||
struct ssInfo
|
||||
{
|
||||
PSZ szDescription;
|
||||
PSZ szDomain;
|
||||
PSZ szIdentifier;
|
||||
LPSTR szDescription;
|
||||
LPSTR szDomain;
|
||||
LPSTR szIdentifier;
|
||||
ssi *Next;
|
||||
ssi *Prev;
|
||||
};
|
||||
|
||||
typedef struct dlgInstall
|
||||
{
|
||||
char szSystemFont[MAX_BUF];
|
||||
char szDefinedFont[MAX_BUF];
|
||||
char szFontName[MAX_BUF];
|
||||
char szFontSize[MAX_BUF];
|
||||
char szCharSet[MAX_BUF];
|
||||
char szOk_[MAX_BUF];
|
||||
char szOk[MAX_BUF];
|
||||
char szCancel_[MAX_BUF];
|
||||
|
@ -463,7 +495,7 @@ typedef struct dlgInstall
|
|||
char szUrl[MAX_BUF];
|
||||
char szTo[MAX_BUF];
|
||||
char szAccept_[MAX_BUF];
|
||||
char szNo_[MAX_BUF];
|
||||
char szDecline_[MAX_BUF];
|
||||
char szProgramFolder_[MAX_BUF];
|
||||
char szExistingFolder_[MAX_BUF];
|
||||
char szSetupMessage[MAX_BUF];
|
||||
|
@ -483,6 +515,8 @@ typedef struct dlgInstall
|
|||
char szReadme_[MAX_BUF];
|
||||
char szPause_[MAX_BUF];
|
||||
char szResume_[MAX_BUF];
|
||||
char szChecked[MAX_BUF];
|
||||
char szUnchecked[MAX_BUF];
|
||||
} installGui;
|
||||
|
||||
/* structure message stream */
|
||||
|
@ -492,7 +526,7 @@ struct sEMsgStream
|
|||
char szURL[MAX_BUF];
|
||||
char szConfirmationMessage[MAX_BUF];
|
||||
char *szMessage;
|
||||
ULONG dwMessageBufSize;
|
||||
DWORD dwMessageBufSize;
|
||||
BOOL bEnabled;
|
||||
BOOL bSendMessage;
|
||||
BOOL bShowConfirmation;
|
||||
|
@ -502,23 +536,25 @@ struct sEMsgStream
|
|||
typedef struct sSysInfo sysinfo;
|
||||
struct sSysInfo
|
||||
{
|
||||
ULONG dwOSType;
|
||||
ULONG dwMajorVersion;
|
||||
ULONG dwMinorVersion;
|
||||
ULONG dwBuildNumber;
|
||||
ULONG ulOSType;
|
||||
ULONG ulMajorVersion;
|
||||
ULONG ulMinorVersion;
|
||||
ULONG ulBuildNumber;
|
||||
char szExtraString[MAX_BUF];
|
||||
ULONG dwMemoryTotalPhysical;
|
||||
ULONG dwMemoryAvailablePhysical;
|
||||
ULONG dwScreenX;
|
||||
ULONG dwScreenY;
|
||||
ULONG ulMemoryTotalPhysical;
|
||||
ULONG ulMemoryAvailablePhysical;
|
||||
LONG lScreenX;
|
||||
LONG lScreenY;
|
||||
BOOL bScreenReader;
|
||||
BOOL bRefreshIcons;
|
||||
};
|
||||
|
||||
typedef struct diskSpaceNode dsN;
|
||||
struct diskSpaceNode
|
||||
{
|
||||
ULONGLONG ullSpaceRequired;
|
||||
PSZ szPath;
|
||||
PSZ szVDSPath;
|
||||
ULONG ulSpaceRequired;
|
||||
LPSTR szPath;
|
||||
LPSTR szVDSPath;
|
||||
dsN *Next;
|
||||
dsN *Prev;
|
||||
};
|
||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 1.1 KiB |
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
@ -32,7 +31,7 @@
|
|||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
ICON 1 DISCARDABLE "setup.ico"
|
||||
ICON 1 "setup.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code,
|
||||
* released March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
/* This is a hack for vc5.0. It needs to be set *before* any shell
|
||||
* include files. The INITGUID definition turns off the inclusion
|
||||
* of shlguid.h in shlobj.h so it has to be done explicitly.
|
||||
*/
|
||||
#if (_MSC_VER == 1100)
|
||||
#define INITGUID
|
||||
#include "objbase.h"
|
||||
DEFINE_OLEGUID(IID_IPersistFile, 0x0000010BL, 0, 0);
|
||||
#endif
|
||||
|
||||
#include <shlobj.h>
|
||||
#include <shlguid.h>
|
||||
#include "shortcut.h"
|
||||
|
||||
APIRET CreateALink(PSZ lpszPathObj, PSZ lpszPathLink, PSZ lpszDesc, PSZ lpszWorkingPath, PSZ lpszArgs, PSZ lpszIconFullPath, int iIcon)
|
||||
{
|
||||
APIRET hres;
|
||||
IShellLink *psl;
|
||||
char lpszFullPath[MAX_BUF];
|
||||
|
||||
lstrcpy(lpszFullPath, lpszPathLink);
|
||||
lstrcat(lpszFullPath, "\\");
|
||||
lstrcat(lpszFullPath, lpszDesc);
|
||||
lstrcat(lpszFullPath, ".lnk");
|
||||
|
||||
CreateDirectory(lpszPathLink, NULL);
|
||||
CoInitialize(NULL);
|
||||
|
||||
// Get a pointer to the IShellLink interface.
|
||||
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID *)&psl);
|
||||
if(SUCCEEDED(hres))
|
||||
{
|
||||
IPersistFile* ppf;
|
||||
|
||||
// Set the path to the shortcut target, and add the
|
||||
// description.
|
||||
psl->SetPath(lpszPathObj);
|
||||
psl->SetDescription(lpszDesc);
|
||||
if(lpszWorkingPath)
|
||||
psl->SetWorkingDirectory(lpszWorkingPath);
|
||||
if(lpszArgs)
|
||||
psl->SetArguments(lpszArgs);
|
||||
psl->SetIconLocation(lpszIconFullPath, iIcon);
|
||||
|
||||
// Query IShellLink for the IPersistFile interface for saving the
|
||||
// shortcut in persistent storage.
|
||||
hres = psl->QueryInterface(IID_IPersistFile, (LPVOID FAR *)&ppf);
|
||||
if(SUCCEEDED(hres))
|
||||
{
|
||||
LONG wsz[MAX_BUF];
|
||||
|
||||
// Ensure that the string is ANSI.
|
||||
MultiByteToWideChar(CP_ACP, 0, lpszFullPath, -1, (wchar_t *)wsz, MAX_BUF);
|
||||
|
||||
// Save the link by calling IPersistFile::Save.
|
||||
hres = ppf->Save((wchar_t *)wsz, TRUE);
|
||||
ppf->Release();
|
||||
}
|
||||
psl->Release();
|
||||
}
|
||||
CoUninitialize();
|
||||
|
||||
return hres;
|
||||
}
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _SHORTCUT_H_
|
||||
|
@ -35,7 +34,7 @@ extern "C"
|
|||
{
|
||||
#endif
|
||||
|
||||
APIRET CreateALink(PSZ lpszPathObj, PSZ lpszPathLink, PSZ lpszDesc, PSZ lpszWorkingPath, PSZ lpszArgs, PSZ lpszIconFullPath, int iIcon);
|
||||
HRESULT CreateALink(LPSTR lpszPathObj, LPSTR lpszPathLink, LPSTR lpszDesc, LPSTR lpszWorkingPath, LPSTR lpszArgs, LPSTR lpszIconFullPath, int iIcon);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
#define INCL_PM
|
||||
#define INCL_GPI
|
||||
#define INCL_DOS
|
||||
#define INCL_DOSERRORS
|
||||
#include <os2.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
typedef ULONG DWORD;
|
||||
typedef unsigned long long ULONGLONG;
|
||||
typedef PSZ LPSTR;
|
||||
typedef PFNWP WNDPROC;
|
||||
typedef long HRESULT;
|
||||
typedef long HFONT;
|
||||
typedef HMODULE HINSTANCE;
|
||||
typedef MPARAM WPARAM;
|
||||
typedef MPARAM LPARAM;
|
||||
typedef void* HGLOBAL;
|
||||
typedef HMODULE HANDLE;
|
||||
typedef long COLORREF;
|
||||
typedef MRESULT LRESULT;
|
||||
#define CALLBACK APIENTRY
|
||||
typedef POWNERITEM LPDRAWITEMSTRUCT;
|
||||
typedef long HKEY;
|
||||
typedef UCHAR *LPBYTE;
|
||||
typedef QMSG MSG;
|
||||
typedef CHAR TCHAR;
|
||||
|
||||
#define WM_INITDIALOG WM_INITDLG
|
||||
#define IDYES DID_OK
|
||||
#define MF_GRAYED 1
|
||||
#define MF_BYCOMMAND 1
|
||||
#define SWP_NOSIZE 1
|
||||
#define IDCANCEL DID_CANCEL
|
||||
#define LB_SETCURSEL 1
|
||||
#define WM_SETFONT 1
|
||||
#define MAX_PATH CCHMAXPATH
|
||||
#define KEY_CREATE_FOLDER 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
ULONG GetPrivateProfileString(PCSZ, PCSZ, PCSZ, PSZ, ULONG, PCSZ);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
@ -18,7 +18,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _WIZVERREG_H_
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _XPERR_H_
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#include "extern.h"
|
||||
|
@ -35,9 +34,9 @@
|
|||
#define BDIR_RIGHT 1
|
||||
#define BDIR_LEFT 2
|
||||
|
||||
typedef APIRET (_cdecl *XpiInit)(const char *, const char *aLogName, pfnXPIProgress);
|
||||
typedef APIRET (_cdecl *XpiInstall)(const char *, const char *, long);
|
||||
typedef void (_cdecl *XpiExit)(void);
|
||||
typedef HRESULT (_Optlink *XpiInit)(const char *, const char *aLogName, pfnXPIProgress);
|
||||
typedef HRESULT (_Optlink *XpiInstall)(const char *, const char *, long);
|
||||
typedef void (_Optlink *XpiExit)(void);
|
||||
|
||||
static XpiInit pfnXpiInit;
|
||||
static XpiInstall pfnXpiInstall;
|
||||
|
@ -46,9 +45,9 @@ static XpiExit pfnXpiExit;
|
|||
static long lFileCounter;
|
||||
static long lBarberCounter;
|
||||
static BOOL bBarberBar;
|
||||
static ULONG dwBarberDirection;
|
||||
static ULONG dwCurrentArchive;
|
||||
static ULONG dwTotalArchives;
|
||||
static DWORD dwBarberDirection;
|
||||
static DWORD dwCurrentArchive;
|
||||
static DWORD dwTotalArchives;
|
||||
char szStrProcessingFile[MAX_BUF];
|
||||
char szStrCopyingFile[MAX_BUF];
|
||||
char szStrInstalling[MAX_BUF];
|
||||
|
@ -66,56 +65,55 @@ struct ExtractFilesDlgInfo
|
|||
int nArchiveBars; // current number of bars to display
|
||||
} dlgInfo;
|
||||
|
||||
APIRET InitializeXPIStub()
|
||||
HRESULT InitializeXPIStub()
|
||||
{
|
||||
char szBuf[MAX_BUF];
|
||||
char szXPIStubFile[MAX_BUF];
|
||||
char szEGetProcAddress[MAX_BUF];
|
||||
HINI hiniInstall;
|
||||
|
||||
hXPIStubInst = NULL;
|
||||
hiniInstall = PrfOpenProfile((HAB)0, szFileIniInstall);
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "ERROR_GETPROCADDRESS", "", szEGetProcAddress, sizeof(szEGetProcAddress)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
|
||||
if(!GetPrivateProfileString("Messages", "ERROR_GETPROCADDRESS", "", szEGetProcAddress, sizeof(szEGetProcAddress), szFileIniInstall))
|
||||
return(1);
|
||||
}
|
||||
PrfCloseProfile(hiniInstall);
|
||||
|
||||
/* change current directory to where xpistub.dll */
|
||||
lstrcpy(szBuf, siCFXpcomFile.szDestination);
|
||||
/* change current directory to where xpistub.dll */
|
||||
strcpy(szBuf, siCFXpcomFile.szDestination);
|
||||
AppendBackSlash(szBuf, sizeof(szBuf));
|
||||
lstrcat(szBuf, "bin");
|
||||
strcat(szBuf, "bin");
|
||||
chdir(szBuf);
|
||||
|
||||
/* Add it to LIBPATH just in case */
|
||||
DosSetExtLIBPATH(szBuf, BEGIN_LIBPATH);
|
||||
|
||||
/* build full path to xpistub.dll */
|
||||
lstrcpy(szXPIStubFile, szBuf);
|
||||
strcpy(szXPIStubFile, szBuf);
|
||||
AppendBackSlash(szXPIStubFile, sizeof(szXPIStubFile));
|
||||
lstrcat(szXPIStubFile, "xpistub.dll");
|
||||
strcat(szXPIStubFile, "xpistub.dll");
|
||||
|
||||
if(FileExists(szXPIStubFile) == FALSE)
|
||||
return(2);
|
||||
|
||||
/* load xpistub.dll */
|
||||
|
||||
if(DosLoadModule(NULL, 0, szXPIStubFile, hXPIStubInst) != NO_ERROR)
|
||||
if(DosLoadModule(NULL, 0, szXPIStubFile, &hXPIStubInst) != NO_ERROR)
|
||||
{
|
||||
sprintf(szBuf, szEDllLoad, szXPIStubFile);
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
return(1);
|
||||
}
|
||||
if(DosQueryProcAddr(hXPIstubInst, 0, "XPI_Init", pfnXpiInit) != NO_ERROR)
|
||||
if(DosQueryProcAddr(hXPIStubInst, 0, "XPI_Init", &pfnXpiInit) != NO_ERROR)
|
||||
{
|
||||
sprintf(szBuf, szEGetProcAddress, "XPI_Init");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
return(1);
|
||||
}
|
||||
if(DosQueryProcAddr(hXPIstubInst, 0, "XPI_Install", pfnXpiInstall) != NO_ERROR)
|
||||
if(DosQueryProcAddr(hXPIStubInst, 0, "XPI_Install", &pfnXpiInstall) != NO_ERROR)
|
||||
{
|
||||
sprintf(szBuf, szEGetProcAddress, "XPI_Install");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
return(1);
|
||||
}
|
||||
if(DosQueryProcAddr(hXPIstubInst, 0, "XPI_Exit", pfnXpiExit) != NO_ERROR)
|
||||
if(DosQueryProcAddr(hXPIStubInst, 0, "XPI_Exit", &pfnXpiExit) != NO_ERROR)
|
||||
{
|
||||
sprintf(szBuf, szEGetProcAddress, "XPI_Exit");
|
||||
PrintError(szBuf, ERROR_CODE_SHOW);
|
||||
|
@ -125,7 +123,7 @@ APIRET InitializeXPIStub()
|
|||
return(0);
|
||||
}
|
||||
|
||||
APIRET DeInitializeXPIStub()
|
||||
HRESULT DeInitializeXPIStub()
|
||||
{
|
||||
pfnXpiInit = NULL;
|
||||
pfnXpiInstall = NULL;
|
||||
|
@ -140,7 +138,7 @@ APIRET DeInitializeXPIStub()
|
|||
|
||||
void GetTotalArchivesToInstall(void)
|
||||
{
|
||||
ULONG dwIndex0;
|
||||
DWORD dwIndex0;
|
||||
siC *siCObject = NULL;
|
||||
|
||||
dwIndex0 = 0;
|
||||
|
@ -156,7 +154,7 @@ void GetTotalArchivesToInstall(void)
|
|||
}
|
||||
}
|
||||
|
||||
char *GetErrorString(ULONG dwError, char *szErrorString, ULONG dwErrorStringSize)
|
||||
char *GetErrorString(DWORD dwError, char *szErrorString, DWORD dwErrorStringSize)
|
||||
{
|
||||
int i = 0;
|
||||
char szErrorNumber[MAX_BUF];
|
||||
|
@ -170,10 +168,10 @@ char *GetErrorString(ULONG dwError, char *szErrorString, ULONG dwErrorStringSize
|
|||
if(*XpErrorList[i] == '\0')
|
||||
break;
|
||||
|
||||
if(lstrcmpi(szErrorNumber, XpErrorList[i]) == 0)
|
||||
if(strcmpi(szErrorNumber, XpErrorList[i]) == 0)
|
||||
{
|
||||
if(*XpErrorList[i + 1] != '\0')
|
||||
lstrcpy(szErrorString, XpErrorList[i + 1]);
|
||||
strcpy(szErrorString, XpErrorList[i + 1]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -184,61 +182,64 @@ char *GetErrorString(ULONG dwError, char *szErrorString, ULONG dwErrorStringSize
|
|||
return(szErrorString);
|
||||
}
|
||||
|
||||
APIRET SmartUpdateJars()
|
||||
#ifdef OLDCODE
|
||||
/* function that clears the file progress bar of the xpinstall progress
|
||||
* dialog.
|
||||
*/
|
||||
void InvalidateBarberBarArea()
|
||||
{
|
||||
ULONG dwIndex0;
|
||||
HWND hWndGauge;
|
||||
RECT rect;
|
||||
|
||||
/* get the file progress bar gauge */
|
||||
hWndGauge = GetDlgItem(dlgInfo.hWndDlg, IDC_GAUGE_FILE);
|
||||
/* get the dimensions of the gauge */
|
||||
GetClientRect(hWndGauge, &rect);
|
||||
/* invalidate the rect area of the gauge */
|
||||
InvalidateRect(hWndGauge, &rect, FALSE);
|
||||
/* update the dialog */
|
||||
UpdateWindow(dlgInfo.hWndDlg);
|
||||
}
|
||||
#endif
|
||||
|
||||
HRESULT SmartUpdateJars()
|
||||
{
|
||||
DWORD dwIndex0;
|
||||
siC *siCObject = NULL;
|
||||
APIRET hrResult;
|
||||
HRESULT hrResult;
|
||||
char szBuf[MAX_BUF];
|
||||
char szEXpiInstall[MAX_BUF];
|
||||
char szArchive[MAX_BUF];
|
||||
char szMsgSmartUpdateStart[MAX_BUF];
|
||||
char szDlgExtractingTitle[MAX_BUF];
|
||||
HINI hiniInstall;
|
||||
|
||||
hiniInstall = PrfOpenProfile((HAB)0, szFileIniInstall);
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "MSG_SMARTUPDATE_START", "", szMsgSmartUpdateStart, sizeof(szMsgSmartUpdateStart)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
if(!GetPrivateProfileString("Messages", "MSG_SMARTUPDATE_START", "", szMsgSmartUpdateStart, sizeof(szMsgSmartUpdateStart), szFileIniInstall))
|
||||
return(1);
|
||||
}
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "DLG_EXTRACTING_TITLE", "", szDlgExtractingTitle, sizeof(szDlgExtractingTitle)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
if(!GetPrivateProfileString("Messages", "DLG_EXTRACTING_TITLE", "", szDlgExtractingTitle, sizeof(szDlgExtractingTitle), szFileIniInstall))
|
||||
return(1);
|
||||
}
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "STR_PROCESSINGFILE", "", szStrProcessingFile, sizeof(szStrProcessingFile)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
if(!GetPrivateProfileString("Messages", "STR_PROCESSINGFILE", "", szStrProcessingFile, sizeof(szStrProcessingFile), szFileIniInstall))
|
||||
exit(1);
|
||||
}
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "STR_INSTALLING", "", szStrInstalling, sizeof(szStrInstalling)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
if(!GetPrivateProfileString("Messages", "STR_INSTALLING", "", szStrInstalling, sizeof(szStrInstalling), szFileIniInstall))
|
||||
exit(1);
|
||||
}
|
||||
if(!PrfQueryProfileString(hiniInstall, "Messages", "STR_COPYINGFILE", "", szStrCopyingFile, sizeof(szStrCopyingFile)))
|
||||
{
|
||||
PrfCloseProfile(hiniInstall);
|
||||
if(!GetPrivateProfileString("Messages", "STR_COPYINGFILE", "", szStrCopyingFile, sizeof(szStrCopyingFile), szFileIniInstall))
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ShowMessage(szMsgSmartUpdateStart, TRUE);
|
||||
if(InitializeXPIStub() == WIZ_OK)
|
||||
{
|
||||
LogISXPInstall(W_START);
|
||||
lstrcpy(szBuf, sgProduct.szPath);
|
||||
strcpy(szBuf, sgProduct.szPath);
|
||||
if(*sgProduct.szSubPath != '\0')
|
||||
{
|
||||
AppendBackSlash(szBuf, sizeof(szBuf));
|
||||
lstrcat(szBuf, sgProduct.szSubPath);
|
||||
strcat(szBuf, sgProduct.szSubPath);
|
||||
}
|
||||
hrResult = pfnXpiInit(szBuf, FILE_INSTALL_LOG, cbXPIProgress);
|
||||
|
||||
ShowMessage(szMsgSmartUpdateStart, FALSE);
|
||||
InitProgressDlg();
|
||||
// InitProgressDlg();
|
||||
GetTotalArchivesToInstall();
|
||||
WinSetWindowText(dlgInfo.hWndDlg, szDlgExtractingTitle);
|
||||
// WinSetWindowText(dlgInfo.hWndDlg, szDlgExtractingTitle);
|
||||
|
||||
dwIndex0 = 0;
|
||||
dwCurrentArchive = 0;
|
||||
|
@ -260,31 +261,30 @@ APIRET SmartUpdateJars()
|
|||
lBarberCounter = 0;
|
||||
dwBarberDirection = BDIR_RIGHT;
|
||||
dlgInfo.nFileBars = 0;
|
||||
UpdateGaugeFileProgressBar(0);
|
||||
// UpdateGaugeFileProgressBar(0);
|
||||
|
||||
lstrcpy(szArchive, sgProduct.szAlternateArchiveSearchPath);
|
||||
strcpy(szArchive, sgProduct.szAlternateArchiveSearchPath);
|
||||
AppendBackSlash(szArchive, sizeof(szArchive));
|
||||
lstrcat(szArchive, siCObject->szArchiveName);
|
||||
strcat(szArchive, siCObject->szArchiveName);
|
||||
if((*sgProduct.szAlternateArchiveSearchPath == '\0') || (!FileExists(szArchive)))
|
||||
{
|
||||
lstrcpy(szArchive, szSetupDir);
|
||||
strcpy(szArchive, szSetupDir);
|
||||
AppendBackSlash(szArchive, sizeof(szArchive));
|
||||
lstrcat(szArchive, siCObject->szArchiveName);
|
||||
strcat(szArchive, siCObject->szArchiveName);
|
||||
if(!FileExists(szArchive))
|
||||
{
|
||||
lstrcpy(szArchive, szTempDir);
|
||||
strcpy(szArchive, szTempDir);
|
||||
AppendBackSlash(szArchive, sizeof(szArchive));
|
||||
lstrcat(szArchive, siCObject->szArchiveName);
|
||||
strcat(szArchive, siCObject->szArchiveName);
|
||||
if(!FileExists(szArchive))
|
||||
{
|
||||
char szEFileNotFound[MAX_BUF];
|
||||
|
||||
if(PrfQueryProfileString(hiniInstall, "Messages", "ERROR_FILE_NOT_FOUND", "", szEFileNotFound, sizeof(szEFileNotFound)))
|
||||
if(GetPrivateProfileString("Messages", "ERROR_FILE_NOT_FOUND", "", szEFileNotFound, sizeof(szEFileNotFound), szFileIniInstall))
|
||||
{
|
||||
sprintf(szBuf, szEFileNotFound, szArchive);
|
||||
PrintError(szBuf, ERROR_CODE_HIDE);
|
||||
}
|
||||
PrfCloseProfile(hiniInstall);
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
|
@ -293,11 +293,11 @@ APIRET SmartUpdateJars()
|
|||
if(dwCurrentArchive == 0)
|
||||
{
|
||||
++dwCurrentArchive;
|
||||
UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
// UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
}
|
||||
|
||||
sprintf(szBuf, szStrInstalling, siCObject->szDescriptionShort);
|
||||
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS0, szBuf);
|
||||
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS0, szBuf);
|
||||
LogISXPInstallComponent(siCObject->szDescriptionShort);
|
||||
|
||||
hrResult = pfnXpiInstall(szArchive, "", 0xFFFF);
|
||||
|
@ -308,7 +308,7 @@ APIRET SmartUpdateJars()
|
|||
{
|
||||
LogMSXPInstallStatus(siCObject->szArchiveName, hrResult);
|
||||
LogISXPInstallComponentResult(hrResult);
|
||||
if(PrfQueryProfileString(hiniInstall, "Messages", "ERROR_XPI_INSTALL", "", szEXpiInstall, sizeof(szEXpiInstall)))
|
||||
if(GetPrivateProfileString("Messages", "ERROR_XPI_INSTALL", "", szEXpiInstall, sizeof(szEXpiInstall), szFileIniInstall))
|
||||
{
|
||||
char szErrorString[MAX_BUF];
|
||||
|
||||
|
@ -322,8 +322,8 @@ APIRET SmartUpdateJars()
|
|||
}
|
||||
|
||||
++dwCurrentArchive;
|
||||
UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
ProcessWindowsMessages();
|
||||
// UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
// ProcessWindowsMessages();
|
||||
LogISXPInstallComponentResult(hrResult);
|
||||
|
||||
if((hrResult != WIZ_OK) &&
|
||||
|
@ -345,7 +345,7 @@ APIRET SmartUpdateJars()
|
|||
|
||||
LogMSXPInstallStatus(NULL, hrResult);
|
||||
pfnXpiExit();
|
||||
DeInitProgressDlg();
|
||||
// DeInitProgressDlg();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -354,7 +354,7 @@ APIRET SmartUpdateJars()
|
|||
|
||||
DeInitializeXPIStub();
|
||||
LogISXPInstall(W_END);
|
||||
PrfCloseProfile(hiniInstall);
|
||||
|
||||
return(hrResult);
|
||||
}
|
||||
|
||||
|
@ -368,16 +368,16 @@ void cbXPIProgress(const char* msg, PRInt32 val, PRInt32 max)
|
|||
char szStrProcessingFileBuf[MAX_BUF];
|
||||
char szStrCopyingFileBuf[MAX_BUF];
|
||||
|
||||
if(sgProduct.dwMode != SILENT)
|
||||
if(sgProduct.ulMode != SILENT)
|
||||
{
|
||||
ParsePath((char *)msg, szFilename, sizeof(szFilename), FALSE, PP_FILENAME_ONLY);
|
||||
|
||||
if(max == 0)
|
||||
{
|
||||
sprintf(szStrProcessingFileBuf, szStrProcessingFile, szFilename);
|
||||
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrProcessingFileBuf);
|
||||
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrProcessingFileBuf);
|
||||
bBarberBar = TRUE;
|
||||
UpdateGaugeFileBarber();
|
||||
// UpdateGaugeFileBarber();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -385,13 +385,14 @@ void cbXPIProgress(const char* msg, PRInt32 val, PRInt32 max)
|
|||
{
|
||||
dlgInfo.nFileBars = 0;
|
||||
++dwCurrentArchive;
|
||||
UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
// UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));
|
||||
// InvalidateBarberBarArea();
|
||||
bBarberBar = FALSE;
|
||||
}
|
||||
|
||||
sprintf(szStrCopyingFileBuf, szStrCopyingFile, szFilename);
|
||||
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrCopyingFileBuf);
|
||||
UpdateGaugeFileProgressBar((unsigned)(((double)(val+1)/(double)max)*(double)100));
|
||||
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrCopyingFileBuf);
|
||||
// UpdateGaugeFileProgressBar((unsigned)(((double)(val+1)/(double)max)*(double)100));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -404,6 +405,7 @@ void cbXPIFinal(const char *URL, PRInt32 finalStatus)
|
|||
|
||||
|
||||
|
||||
#ifdef OLDCODE
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Progress bar
|
||||
|
||||
|
@ -412,34 +414,29 @@ void cbXPIFinal(const char *URL, PRInt32 finalStatus)
|
|||
static void
|
||||
CenterWindow(HWND hWndDlg)
|
||||
{
|
||||
RECTL rect;
|
||||
RECT rect;
|
||||
int iLeft, iTop;
|
||||
|
||||
WinQueryWindowRect(hWndDlg, &rect);
|
||||
iLeft = (WinQuerySysValue(SV_CXSCREEN) - (rect.xRight - rect.xLeft)) / 2;
|
||||
iTop = (WinQuerySysValue(SV_CYSCREEN) - (rect.yBottom - rect.yTop)) / 2;
|
||||
GetWindowRect(hWndDlg, &rect);
|
||||
iLeft = (GetSystemMetrics(SM_CXSCREEN) - (rect.right - rect.left)) / 2;
|
||||
iTop = (GetSystemMetrics(SM_CYSCREEN) - (rect.bottom - rect.top)) / 2;
|
||||
|
||||
WinSetWindowPos(hWndDlg, NULL, iLeft, iTop, -1, -1, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
SetWindowPos(hWndDlg, NULL, iLeft, iTop, -1, -1, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
}
|
||||
|
||||
// Window proc for dialog
|
||||
MRESULT EXPENTRY
|
||||
ProgressDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, WPARAM lParam)
|
||||
LRESULT CALLBACK
|
||||
ProgressDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
PSZ pszFontNameSize;
|
||||
ULONG ulFontNameSizeLength;
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
DisableSystemMenuItems(hWndDlg, TRUE);
|
||||
CenterWindow(hWndDlg);
|
||||
pszFontNameSize = myGetSysFont();
|
||||
ulFontNameSizeLength = sizeof(pszFontNameSize) + 1;
|
||||
|
||||
WinSetPresParam(WinWindowFromID(hDlg, IDC_STATUS0), PP_FONTNAMESIZE, ulFontNameSizeLength, pszFontNameSize);
|
||||
WinSetPresParam(WinWindowFromID(hDlg, IDC_GAUGE_ARCHIVE), PP_FONTNAMESIZE, ulFontNameSizeLength, pszFontNameSize);
|
||||
WinSetPresParam(WinWindowFromID(hDlg, IDC_STATUS3), PP_FONTNAMESIZE, ulFontNameSizeLength, pszFontNameSize);
|
||||
WinSetPresParam(WinWindowFromID(hDlg, IDC_GAUGE_FILE), PP_FONTNAMESIZE, ulFontNameSizeLength, pszFontNameSize);
|
||||
SendDlgItemMessage (hWndDlg, IDC_STATUS0, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
|
||||
SendDlgItemMessage (hWndDlg, IDC_GAUGE_ARCHIVE, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
|
||||
SendDlgItemMessage (hWndDlg, IDC_STATUS3, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
|
||||
SendDlgItemMessage (hWndDlg, IDC_GAUGE_FILE, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
|
||||
return FALSE;
|
||||
|
||||
case WM_COMMAND:
|
||||
|
@ -456,14 +453,17 @@ UpdateGaugeFileBarber()
|
|||
{
|
||||
int nBars;
|
||||
HWND hWndGauge;
|
||||
RECTL rect;
|
||||
RECT rect;
|
||||
|
||||
if(sgProduct.dwMode != SILENT)
|
||||
{
|
||||
hWndGauge = WinWindowFromID(dlgInfo.hWndDlg, IDC_GAUGE_FILE);
|
||||
hWndGauge = GetDlgItem(dlgInfo.hWndDlg, IDC_GAUGE_FILE);
|
||||
if(dwBarberDirection == BDIR_RIGHT)
|
||||
{
|
||||
if(lBarberCounter < 151)
|
||||
// 121 is the (number of bars) + (number bars in barber bar).
|
||||
// this number determines how far to the right to draw the barber bat
|
||||
// so as to make it look like it disappears off the progress meter area.
|
||||
if(lBarberCounter < 121)
|
||||
++lBarberCounter;
|
||||
else
|
||||
dwBarberDirection = BDIR_LEFT;
|
||||
|
@ -483,13 +483,13 @@ UpdateGaugeFileBarber()
|
|||
dlgInfo.nFileBars = nBars;
|
||||
|
||||
// Only invalidate the part that needs updating
|
||||
WinQueryWindowRect(hWndGauge, &rect);
|
||||
WinInvalidateRect(hWndGauge, &rect, FALSE);
|
||||
GetClientRect(hWndGauge, &rect);
|
||||
InvalidateRect(hWndGauge, &rect, FALSE);
|
||||
|
||||
// Update the whole extracting dialog. We do this because we don't
|
||||
// have a message loop to process WM_PAINT messages in case the
|
||||
// extracting dialog was exposed
|
||||
WinUpdateWindow(dlgInfo.hWndDlg);
|
||||
UpdateWindow(dlgInfo.hWndDlg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -508,20 +508,20 @@ UpdateGaugeFileProgressBar(unsigned value)
|
|||
// Only paint if we need to display more bars
|
||||
if((nBars > dlgInfo.nFileBars) || (dlgInfo.nFileBars == 0))
|
||||
{
|
||||
HWND hWndGauge = WinWindowFromID(dlgInfo.hWndDlg, IDC_GAUGE_FILE);
|
||||
RECTL rect;
|
||||
HWND hWndGauge = GetDlgItem(dlgInfo.hWndDlg, IDC_GAUGE_FILE);
|
||||
RECT rect;
|
||||
|
||||
// Update the gauge state before painting
|
||||
dlgInfo.nFileBars = nBars;
|
||||
|
||||
// Only invalidate the part that needs updating
|
||||
WinQueryWindowRect(hWndGauge, &rect);
|
||||
WinInvalidateRect(hWndGauge, &rect, FALSE);
|
||||
GetClientRect(hWndGauge, &rect);
|
||||
InvalidateRect(hWndGauge, &rect, FALSE);
|
||||
|
||||
// Update the whole extracting dialog. We do this because we don't
|
||||
// have a message loop to process WM_PAINT messages in case the
|
||||
// extracting dialog was exposed
|
||||
WinUpdateWindow(dlgInfo.hWndDlg);
|
||||
UpdateWindow(dlgInfo.hWndDlg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -541,20 +541,20 @@ UpdateGaugeArchiveProgressBar(unsigned value)
|
|||
// Only paint if we need to display more bars
|
||||
if (nBars > dlgInfo.nArchiveBars)
|
||||
{
|
||||
HWND hWndGauge = WinWindowFromID(dlgInfo.hWndDlg, IDC_GAUGE_ARCHIVE);
|
||||
RECTL rect;
|
||||
HWND hWndGauge = GetDlgItem(dlgInfo.hWndDlg, IDC_GAUGE_ARCHIVE);
|
||||
RECT rect;
|
||||
|
||||
// Update the gauge state before painting
|
||||
dlgInfo.nArchiveBars = nBars;
|
||||
|
||||
// Only invalidate the part that needs updating
|
||||
WinQueryWindowRect(hWndGauge, &rect);
|
||||
WinInvalidateRect(hWndGauge, &rect, FALSE);
|
||||
GetClientRect(hWndGauge, &rect);
|
||||
InvalidateRect(hWndGauge, &rect, FALSE);
|
||||
|
||||
// Update the whole extracting dialog. We do this because we don't
|
||||
// have a message loop to process WM_PAINT messages in case the
|
||||
// extracting dialog was exposed
|
||||
WinUpdateWindow(dlgInfo.hWndDlg);
|
||||
UpdateWindow(dlgInfo.hWndDlg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -564,15 +564,14 @@ static void
|
|||
DrawGaugeBorder(HWND hWnd)
|
||||
{
|
||||
HDC hDC = GetWindowDC(hWnd);
|
||||
HPS hPS = WinGetPS(hWnd);
|
||||
RECTL rect;
|
||||
RECT rect;
|
||||
int cx, cy;
|
||||
HPEN hShadowPen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNSHADOW));
|
||||
HGDIOBJ hOldPen;
|
||||
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
cx = rect.xRight - rect.xLeft;
|
||||
cy = rect.yBottom - rect.yTop;
|
||||
GetWindowRect(hWnd, &rect);
|
||||
cx = rect.right - rect.left;
|
||||
cy = rect.bottom - rect.top;
|
||||
|
||||
// Draw a dark gray line segment
|
||||
hOldPen = SelectObject(hDC, (HGDIOBJ)hShadowPen);
|
||||
|
@ -589,7 +588,6 @@ DrawGaugeBorder(HWND hWnd)
|
|||
SelectObject(hDC, hOldPen);
|
||||
DeleteObject(hShadowPen);
|
||||
ReleaseDC(hWnd, hDC);
|
||||
WinReleasePS(hPS);
|
||||
}
|
||||
|
||||
// Draws the blue progress bar
|
||||
|
@ -597,36 +595,40 @@ static void
|
|||
DrawProgressBar(HWND hWnd, int nBars)
|
||||
{
|
||||
int i;
|
||||
RECTL rect;
|
||||
PAINTSTRUCT ps;
|
||||
HDC hDC;
|
||||
RECT rect;
|
||||
HBRUSH hBrush;
|
||||
HPS hPS;
|
||||
|
||||
hPS = WinBeginPaint(hWnd, NULLHANDLE, &rect);
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
hDC = BeginPaint(hWnd, &ps);
|
||||
GetClientRect(hWnd, &rect);
|
||||
if(nBars <= 0)
|
||||
{
|
||||
/* clear the bars */
|
||||
WinFillRect(hPS, &rect, SYSCLR_MENU);
|
||||
hBrush = CreateSolidBrush(GetSysColor(COLOR_MENU));
|
||||
FillRect(hDC, &rect, hBrush);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Draw the bars
|
||||
rect.xLeft = rect.yTop = BAR_MARGIN;
|
||||
rect.yBottom -= BAR_MARGIN;
|
||||
rect.xRight = rect.xLeft + BAR_WIDTH;
|
||||
hBrush = CreateSolidBrush(RGB(0, 0, 128));
|
||||
rect.left = rect.top = BAR_MARGIN;
|
||||
rect.bottom -= BAR_MARGIN;
|
||||
rect.right = rect.left + BAR_WIDTH;
|
||||
|
||||
for(i = 0; i < nBars; i++)
|
||||
{
|
||||
RECTL dest;
|
||||
RECT dest;
|
||||
|
||||
if(WinIntersectRect((HAB)0, &dest, &ps.rcPaint, &rect))
|
||||
WinFillRect(hPS, &rect, CLR_DARKBLUE);
|
||||
if(IntersectRect(&dest, &ps.rcPaint, &rect))
|
||||
FillRect(hDC, &rect, hBrush);
|
||||
|
||||
WinOffsetRect((HAB)0, &rect, BAR_WIDTH + BAR_SPACING, 0);
|
||||
OffsetRect(&rect, BAR_WIDTH + BAR_SPACING, 0);
|
||||
}
|
||||
}
|
||||
|
||||
WinEndPaint(hPS);
|
||||
DeleteObject(hBrush);
|
||||
EndPaint(hWnd, &ps);
|
||||
}
|
||||
|
||||
// Draws the blue progress bar
|
||||
|
@ -636,80 +638,89 @@ DrawBarberBar(HWND hWnd, int nBars)
|
|||
int i;
|
||||
PAINTSTRUCT ps;
|
||||
HDC hDC;
|
||||
HPS hPS;
|
||||
RECTL rect;
|
||||
RECT rect;
|
||||
HBRUSH hBrush = NULL;
|
||||
HBRUSH hBrushClear = NULL;
|
||||
|
||||
hPS = WinBeginPaint(hWnd, NULLHANDLE, &rect);
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
hDC = BeginPaint(hWnd, &ps);
|
||||
GetClientRect(hWnd, &rect);
|
||||
if(nBars <= 0)
|
||||
{
|
||||
/* clear the bars */
|
||||
WinFillRect(hPS, &rect, SYSCLR_MENU);
|
||||
hBrushClear = CreateSolidBrush(GetSysColor(COLOR_MENU));
|
||||
FillRect(hDC, &rect, hBrushClear);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Draw the bars
|
||||
rect.xLeft = rect.yTop = BAR_MARGIN;
|
||||
rect.yBottom -= BAR_MARGIN;
|
||||
rect.xRight = rect.xLeft + BAR_WIDTH;
|
||||
hBrushClear = CreateSolidBrush(GetSysColor(COLOR_MENU));
|
||||
hBrush = CreateSolidBrush(RGB(0, 0, 128));
|
||||
rect.left = rect.top = BAR_MARGIN;
|
||||
rect.bottom -= BAR_MARGIN;
|
||||
rect.right = rect.left + BAR_WIDTH;
|
||||
|
||||
for(i = 0; i < (nBars + 1); i++)
|
||||
{
|
||||
RECTL dest;
|
||||
RECT dest;
|
||||
|
||||
if(WinIntersectRect((HAB)0, &dest, &ps.rcPaint, &rect))
|
||||
if(IntersectRect(&dest, &ps.rcPaint, &rect))
|
||||
{
|
||||
if((i >= (nBars - 15)) && (i < nBars))
|
||||
WinFillRect(hPS, &rect, CLR_DARKBLUE);
|
||||
FillRect(hDC, &rect, hBrush);
|
||||
else
|
||||
WinFillRect(hPS, &rect, SYSCLR_MENU);
|
||||
FillRect(hDC, &rect, hBrushClear);
|
||||
}
|
||||
|
||||
WinOffsetRect((HAB)0, &rect, BAR_WIDTH + BAR_SPACING, 0);
|
||||
OffsetRect(&rect, BAR_WIDTH + BAR_SPACING, 0);
|
||||
}
|
||||
}
|
||||
WinEndPaint(hPS);
|
||||
|
||||
if(hBrushClear)
|
||||
DeleteObject(hBrushClear);
|
||||
|
||||
if(hBrush)
|
||||
DeleteObject(hBrush);
|
||||
|
||||
EndPaint(hWnd, &ps);
|
||||
}
|
||||
|
||||
// Adjusts the width of the gauge based on the maximum number of bars
|
||||
static void
|
||||
SizeToFitGauge(HWND hWnd, int nMaxBars)
|
||||
{
|
||||
RECTL rect;
|
||||
RECT rect;
|
||||
int cx;
|
||||
|
||||
// Get the window size in pixels
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
GetWindowRect(hWnd, &rect);
|
||||
|
||||
// Size the width to fit
|
||||
cx = 2 * WinQuerySysValue(SV_CXBORDER) + 2 * BAR_MARGIN +
|
||||
cx = 2 * GetSystemMetrics(SM_CXBORDER) + 2 * BAR_MARGIN +
|
||||
nMaxBars * BAR_WIDTH + (nMaxBars - 1) * BAR_SPACING;
|
||||
|
||||
WinSetWindowPos(hWnd, NULL, -1, -1, cx, rect.yBottom - rect.yTop,
|
||||
SetWindowPos(hWnd, NULL, -1, -1, cx, rect.bottom - rect.top,
|
||||
SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
}
|
||||
|
||||
// Window proc for file gauge
|
||||
MRESULT EXPENTRY
|
||||
GaugeFileWndProc(HWND hWnd, UINT msg, WPARAM wParam, WPARAM lParam)
|
||||
LRESULT CALLBACK
|
||||
GaugeFileWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
ULONG dwStyle;
|
||||
RECTL rect;
|
||||
DWORD dwStyle;
|
||||
RECT rect;
|
||||
|
||||
switch(msg)
|
||||
{
|
||||
case WM_NCCREATE:
|
||||
dwStyle = WinQueryWindowULong(hWnd, GWL_STYLE);
|
||||
WinSetWindowULong(hWnd, GWL_STYLE, dwStyle | WS_BORDER);
|
||||
dwStyle = GetWindowLong(hWnd, GWL_STYLE);
|
||||
SetWindowLong(hWnd, GWL_STYLE, dwStyle | WS_BORDER);
|
||||
return(TRUE);
|
||||
|
||||
case WM_CREATE:
|
||||
// Figure out the maximum number of bars that can be displayed
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
GetClientRect(hWnd, &rect);
|
||||
dlgInfo.nFileBars = 0;
|
||||
dlgInfo.nMaxFileBars = (rect.xRight - rect.xLeft - 2 * BAR_MARGIN + BAR_SPACING) / (BAR_WIDTH + BAR_SPACING);
|
||||
dlgInfo.nMaxFileBars = (rect.right - rect.left - 2 * BAR_MARGIN + BAR_SPACING) / (BAR_WIDTH + BAR_SPACING);
|
||||
|
||||
// Size the gauge to exactly fit the maximum number of bars
|
||||
SizeToFitGauge(hWnd, dlgInfo.nMaxFileBars);
|
||||
|
@ -732,24 +743,24 @@ GaugeFileWndProc(HWND hWnd, UINT msg, WPARAM wParam, WPARAM lParam)
|
|||
}
|
||||
|
||||
// Window proc for file gauge
|
||||
MRESULT EXPENTRY
|
||||
GaugeArchiveWndProc(HWND hWnd, UINT msg, WPARAM wParam, WPARAM lParam)
|
||||
LRESULT CALLBACK
|
||||
GaugeArchiveWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
ULONG dwStyle;
|
||||
RECTL rect;
|
||||
DWORD dwStyle;
|
||||
RECT rect;
|
||||
|
||||
switch(msg)
|
||||
{
|
||||
case WM_NCCREATE:
|
||||
dwStyle = WinQueryWindowULong(hWnd, GWL_STYLE);
|
||||
WinSetWindowULong(hWnd, GWL_STYLE, dwStyle | WS_BORDER);
|
||||
dwStyle = GetWindowLong(hWnd, GWL_STYLE);
|
||||
SetWindowLong(hWnd, GWL_STYLE, dwStyle | WS_BORDER);
|
||||
return(TRUE);
|
||||
|
||||
case WM_CREATE:
|
||||
// Figure out the maximum number of bars that can be displayed
|
||||
WinQueryWindowRect(hWnd, &rect);
|
||||
GetClientRect(hWnd, &rect);
|
||||
dlgInfo.nArchiveBars = 0;
|
||||
dlgInfo.nMaxArchiveBars = (rect.xRight - rect.xLeft - 2 * BAR_MARGIN + BAR_SPACING) / (BAR_WIDTH + BAR_SPACING);
|
||||
dlgInfo.nMaxArchiveBars = (rect.right - rect.left - 2 * BAR_MARGIN + BAR_SPACING) / (BAR_WIDTH + BAR_SPACING);
|
||||
|
||||
// Size the gauge to exactly fit the maximum number of bars
|
||||
SizeToFitGauge(hWnd, dlgInfo.nMaxArchiveBars);
|
||||
|
@ -786,8 +797,8 @@ void InitProgressDlg()
|
|||
RegisterClass(&wc);
|
||||
|
||||
// Display the dialog box
|
||||
dlgInfo.hWndDlg = WinCreateDlg(hWndMain, NULLHANDLE, MAKEINTRESOURCE(DLG_EXTRACTING), (PFNWP)ProgressDlgProc, MAKEINTRESOURCE(DLG_EXTRACTING), NULL);
|
||||
WinUpdateWindow(dlgInfo.hWndDlg);
|
||||
dlgInfo.hWndDlg = CreateDialog(hSetupRscInst, MAKEINTRESOURCE(DLG_EXTRACTING), hWndMain, (WNDPROC)ProgressDlgProc);
|
||||
UpdateWindow(dlgInfo.hWndDlg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -795,8 +806,9 @@ void DeInitProgressDlg()
|
|||
{
|
||||
if(sgProduct.dwMode != SILENT)
|
||||
{
|
||||
WinDestroyWindow(dlgInfo.hWndDlg);
|
||||
DestroyWindow(dlgInfo.hWndDlg);
|
||||
UnregisterClass("GaugeFile", hInst);
|
||||
UnregisterClass("GaugeArchive", hInst);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -20,22 +20,21 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _XPI_H_
|
||||
#define _XPI_H_
|
||||
|
||||
APIRET InitializeXPIStub(void);
|
||||
APIRET DeInitializeXPIStub(void);
|
||||
APIRET SmartUpdateJars(void);
|
||||
HRESULT InitializeXPIStub(void);
|
||||
HRESULT DeInitializeXPIStub(void);
|
||||
HRESULT SmartUpdateJars(void);
|
||||
void cbXPIStart(const char *, const char *UIName);
|
||||
void cbXPIProgress(const char* msg, PRInt32 val, PRInt32 max);
|
||||
void cbXPIFinal(const char *, PRInt32 finalStatus);
|
||||
void InitProgressDlg(void);
|
||||
void DeInitProgressDlg(void);
|
||||
void GetTotalArchivesToInstall(void);
|
||||
char *GetErrorString(ULONG dwError, char *szErrorString, ULONG dwErrorStringSize);
|
||||
char *GetErrorString(DWORD dwError, char *szErrorString, DWORD dwErrorStringSize);
|
||||
|
||||
#endif /* _XPI_H_ */
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Daniel Veditz <dveditz@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -18,7 +18,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _XPNETHOOK_H_
|
||||
|
@ -37,10 +36,9 @@ int DownloadFiles(char *szInputIniFile,
|
|||
char *szProxyUser,
|
||||
char *szProxyPasswd,
|
||||
BOOL bShowRetryMsg,
|
||||
int *iNetRetries,
|
||||
BOOL bIgnoreNetworkError,
|
||||
char *szFailedFile,
|
||||
ULONG dwFailedFileSize);
|
||||
DWORD dwFailedFileSize);
|
||||
|
||||
#endif /* _XPNETHOOK_H_ */
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Daniel Veditz <dveditz@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#ifndef _zipfile_h
|
||||
|
|
|
@ -1,50 +1,60 @@
|
|||
#!gmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# The contents of this file are subject to the Mozilla Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# the License at http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is Mozilla Communicator client code,
|
||||
# released March 31, 1998.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape Communications
|
||||
# Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
#
|
||||
# The Original Code is mozilla.org code
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Contributor(s):
|
||||
# Sean Su <ssu@netscape.com>
|
||||
# Daniel Veditz <dveditz@netscape.com>
|
||||
|
||||
DEPTH=../../../..
|
||||
|
||||
topsrcdir = @top_srcdir@
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
MODULE = setuprsc
|
||||
RESFILE = $(MODULE).res
|
||||
LIBRARY_NAME = setuprsc
|
||||
EXPORTS = setuprsc.h
|
||||
FORCE_SHARED_LIB = 1
|
||||
|
||||
CPPSRCS= \
|
||||
setuprsc.cpp \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = setuprsc
|
||||
LIBRARY_NAME = setuprsc
|
||||
RESFILE = setuprsc.res
|
||||
|
||||
USE_NON_MT_LIBS = 1
|
||||
|
||||
NO_DIST_INSTALL = 1
|
||||
|
||||
EXPORTS = setuprsc.h
|
||||
|
||||
CPPSRCS = setuprsc.cpp
|
||||
|
||||
GARBAGE += $(DIST)/install/$(SHARED_LIBRARY)
|
||||
GARBAGE_DIRS += $(DIST)/include/$(MODULE)
|
||||
|
||||
FORCE_SHARED_LIB=1
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
libs::
|
||||
$(INSTALL) -m 555 $(SHARED_LIBRARY) $(DIST)/install
|
||||
# Hack to get around the default rules insisting that .lib should exist
|
||||
$(IMPORT_LIBRARY):
|
||||
touch $@
|
||||
|
||||
install::
|
||||
$(SYSINSTALL) -m 555 $(SHARED_LIBRARY) $(DIST)/install
|
||||
export:: $(EXPORTS)
|
||||
$(INSTALL) $< $(DIST)/include/$(MODULE)
|
||||
|
||||
libs:: $(SHARED_LIBRARY)
|
||||
$(INSTALL) $< $(DIST)/install
|
||||
|
||||
install:: $(SHARED_LIBRARY)
|
||||
$(INSTALL) $< $(DESTDIR)$(mozappdir)/install
|
||||
|
||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 32 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 76 KiB |
|
@ -18,13 +18,6 @@
|
|||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
* IBM Corp.
|
||||
*/
|
||||
|
||||
#include <os2.h>
|
||||
|
||||
int APIENTRY LibMain(HOBJECT hInstance, LONG wDataSeg, LONG cbHeapSize, PSZ lpCmdLine)
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
static const char *id = "Mozilla for OS/2 XPInstall Reource DLL";
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#define IDB_BITMAP_WELCOME 108
|
||||
#define DLG_MESSAGE 110
|
||||
#define IDB_BITMAP_DOWNLOAD_LOGO 114
|
||||
#define IDB_QUICK_LAUNCH 115
|
||||
#define DLG_BROWSE_DIR 503
|
||||
#define IDC_STATUS 1001
|
||||
#define IDC_STATUS1 1001
|
||||
|
@ -84,6 +85,8 @@
|
|||
#define IDC_USE_HTTP 1073
|
||||
#define IDC_USE_FTP 1074
|
||||
#define IDC_DESTINATION 1074
|
||||
#define IDC_CHECK_TURBO_MODE 1075
|
||||
#define IDC_CHECK_RECAPTURE_HOMEPAGE 1076
|
||||
#define DLG_WELCOME 2001
|
||||
#define DLG_LICENSE 2002
|
||||
#define DLG_SETUP_TYPE 2003
|
||||
|
@ -94,13 +97,15 @@
|
|||
#define DLG_PROGRAM_FOLDER 2007
|
||||
#define DLG_START_INSTALL 2008
|
||||
#define DLG_EXTRACTING 2009
|
||||
#define DLG_QUICK_LAUNCH 2010
|
||||
#define DLG_RESTART 10206
|
||||
#define DLG_SITE_SELECTOR 10207
|
||||
#define DLG_ADVANCED_SETTINGS 10207
|
||||
#define DLG_SELECT_ADDITIONAL_COMPONENTS 10208
|
||||
#define DLG_UPGRADE 10209
|
||||
#define DLG_DOWNLOAD_OPTIONS 10210
|
||||
#define DLG_ADDITIONAL_OPTIONS 10210
|
||||
#define DLG_DOWNLOADING 10211
|
||||
#define DLG_START_INSTALL1 10212
|
||||
#define IDB_BOX_CHECKED 10304
|
||||
#define IDB_BOX_UNCHECKED 10306
|
||||
#define IDB_BOX_CHECKED_DISABLED 10307
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include <os2.h>
|
||||
#include "setuprsc.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -7,350 +8,331 @@
|
|||
|
||||
DLGTEMPLATE DLG_WELCOME DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_WELCOME, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_WELCOME, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_STATIC0, 95, 129, 190, 30, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC1, 96, 94, 189, 30, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC2, 96, 59, 189, 30, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_STATIC0, 127, 157, 253, 37, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC1, 128, 115, 252, 37, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC2, 128, 72, 252, 37, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_SETUP_TYPE DISCARDABLE
|
||||
DLGTEMPLATE DLG_SETUP_TYPE DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_SETUP_TYPE, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_SETUP_TYPE, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
CONTROL "", IDC_RADIO_ST0, 96, 135, 62, 10, WC_BUTTON, BS_AUTORADIOBUTTON |
|
||||
CONTROL "", IDC_RADIO_ST0, 128, 164, 82, 12, WC_BUTTON, BS_AUTORADIOBUTTON |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_ST1, 96, 112, 62, 10, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_ST2, 96, 90, 60, 10, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_ST3, 96, 67, 60, 10, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
LTEXT "",IDC_STATIC_ST0_DESCRIPTION, 164, 123, 119, 20, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST1_DESCRIPTION, 164, 100, 119, 20, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST2_DESCRIPTION, 164, 78, 119, 20, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST3_DESCRIPTION, 164, 54, 119, 21, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_DESTINATION, 95, 25, 191, 22, DT_MNEMONIC
|
||||
CONTROL "", IDC_EDIT_DESTINATION, 101, 30, 134, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | DT_MNEMONIC | WS_VISIBLE
|
||||
PUSHBUTTON "", IDC_BUTTON_BROWSE, 239, 29, 44, 12,
|
||||
PUSHBUTTON "", IDC_README, 11, 4, 78, 12,
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_STATIC_MSG0, 95, 145, 191, 14, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
CONTROL "", IDC_RADIO_ST1, 128, 136, 82, 12, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_ST2, 128, 109, 80, 12, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_ST3, 128, 81, 80, 12, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
LTEXT "",IDC_STATIC_ST0_DESCRIPTION,219,150,158, 24, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST1_DESCRIPTION,219,122,158, 24, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST2_DESCRIPTION,219,95, 158, 24, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "",IDC_STATIC_ST3_DESCRIPTION,219,66, 158, 25, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_DESTINATION, 127, 31, 255, 27, DT_MNEMONIC
|
||||
CONTROL "", IDC_EDIT_DESTINATION, 134, 36, 179, 9, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | DT_MNEMONIC | WS_VISIBLE
|
||||
PUSHBUTTON "", IDC_BUTTON_BROWSE, 319, 35, 58, 14
|
||||
PUSHBUTTON "", IDC_README, 14, 5, 104, 14
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_STATIC_MSG0, 127, 177, 255, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_SELECT_COMPONENTS DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_SELECT_COMPONENTS, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_SELECT_COMPONENTS, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 95, 145, 191, 16, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC1, 95, 136, 97, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC2, 95, 56, 191, 18, DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC_DESCRIPTION, 100, 60, 183, 7, SS_TEXT | DT_WORDBREAK
|
||||
GROUPBOX "", IDC_STATIC, 95, 26, 191, 27, DT_MNEMONIC
|
||||
LTEXT "", IDC_DOWNLOAD_SIZE, 99, 30, 86, 7, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_SPACE_AVAILABLE, 194, 30, 89, 7, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC, 189, 136, 97, 7, 0 | WS_EX_RIGHT | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 99, 39, 86, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC4, 194, 39, 89, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
LTEXT "", IDC_STATIC1, 127, 165, 129, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
// LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 176, 255, 19, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC2, 127, 68, 255, 22, DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC_DESCRIPTION, 133, 73, 244, 8, SS_TEXT | DT_WORDBREAK
|
||||
GROUPBOX "", IDC_STATIC, 127, 32, 255, 33, DT_MNEMONIC
|
||||
LTEXT "", IDC_DOWNLOAD_SIZE, 132, 37, 115, 8, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_SPACE_AVAILABLE, 258, 37, 118, 8, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC, 252, 165, 129, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 132, 48, 115, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC4, 258, 48, 118, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_WINDOWS_INTEGRATION DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_WINDOWS_INTEGRATION, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_WINDOWS_INTEGRATION, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
CONTROL "", IDC_CHECK0, 95, 128, 193, 14, WC_BUTTON, BS_AUTOCHECKBOX | BS_TOP |
|
||||
BS_MULTILINE | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK1, 95, 111, 193, 14, WC_BUTTON, BS_AUTOCHECKBOX | BS_TOP |
|
||||
BS_MULTILINE | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK2, 95, 94, 193, 14, WC_BUTTON, BS_AUTOCHECKBOX | BS_TOP |
|
||||
BS_MULTILINE | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK3, 95, 77, 193, 14, WC_BUTTON, BS_AUTOCHECKBOX | BS_TOP |
|
||||
BS_MULTILINE | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
LTEXT "", IDC_MESSAGE1, 95, 28, 193, 44, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 95, 145, 191, 14, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_PICT0, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC0, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
CONTROL "", IDC_CHECK0, 127, 156, 257, 17, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK1, 127, 135, 257, 17, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK2, 127, 115, 257, 17, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_CHECK3, 127, 94, 257, 17, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
LTEXT "", IDC_MESSAGE1, 127, 34, 257, 54, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 177, 255, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_PICT0, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC0, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_PROGRAM_FOLDER DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_PROGRAM_FOLDER, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_PROGRAM_FOLDER, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
ENTRYFIELD "",IDC_EDIT_PROGRAM_FOLDER, 97, 107, 188, 7, ES_AUTOSCROLL | ES_MARGIN
|
||||
LTEXT "", IDC_STATIC1, 127, 143, 132, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
ENTRYFIELD "",IDC_EDIT_PROGRAM_FOLDER, 129, 130, 251, 9, ES_AUTOSCROLL | ES_MARGIN
|
||||
LTEXT "", IDC_STATIC2, 127, 113, 204, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LISTBOX IDC_LIST, 127, 32, 255, 79, LS_NOADJUSTPOS | WS_TABSTOP
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 95, 132, 191, 27, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC1, 95, 117, 99, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC2, 95, 93, 153, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 161, 255, 33, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_LICENSE DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_LICENSE, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_LICENSE, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
MLE "", IDC_EDIT_LICENSE, 11, 47, 277, 98, WS_GROUP | MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 11, 148, 277, 14, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE1, 11, 28, 277, 16, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL "", -1, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
MLE "", IDC_EDIT_LICENSE, 14, 57, 369, 119, WS_GROUP | MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL
|
||||
LTEXT "", IDC_MESSAGE0, 14, 180, 369, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE1, 14, 34, 369, 19, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL "", -1, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_START_INSTALL DISCARDABLE
|
||||
DLGTEMPLATE DLG_QUICK_LAUNCH DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_START_INSTALL, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_QUICK_LAUNCH, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
MLE "", IDC_CURRENT_SETTINGS, 95, 26, 191, 87, MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL | MLS_HSCROLL
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 95, 117, 191, 43, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
CONTROL "", IDC_CHECK_TURBO_MODE, 127, 39, 255, 9, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 173, 255, 18, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE1, 127, 135, 255, 20, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE2, 127, 60, 255, 18, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL 115, IDC_STATIC, 128, 109, 25, 20, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_BROWSE_DIR DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_BROWSE_DIR, 138, 116, 179, 117,
|
||||
DIALOG "", DLG_BROWSE_DIR, 184, 26, 238, 143,
|
||||
FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
ENTRYFIELD "", IDC_EDIT_DESTINATION, 8, 94, 167, 10, WS_EX_CLIENTEDGE | ES_AUTOSCROLL
|
||||
LTEXT "", 1092, 10, 128, 115, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
ENTRYFIELD "", IDC_EDIT_DESTINATION, 10, 115, 222, 12, ES_AUTOSCROLL
|
||||
LISTBOX 1121, 10, 38, 150, 68, LS_OWNERDRAW | WS_TABSTOP
|
||||
COMBOBOX "", 1137, 8, -35, 114, 56, CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", 1, 127, 71, 47, 12, WS_GROUP
|
||||
PUSHBUTTON "", DID_CANCEL, 127, 54, 47, 12, WS_GROUP
|
||||
LTEXT "", 1092, 8, 105, 86, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", 1091, 8, 21, 86, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", 1091, 10, 26, 115, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
COMBOBOX "", 1137, 10, -43, 152, 68, CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", 1, 169, 86, 63, 14, WS_GROUP
|
||||
PUSHBUTTON "", DID_CANCEL, 169, 66, 63, 14, WS_GROUP
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_RESTART FIXED IMPURE
|
||||
BEGIN
|
||||
DIALOG "", DLG_RESTART, 125, 104, 239, 91,
|
||||
DIALOG "", DLG_RESTART, 167, 12, 319, 111,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
LTEXT "", 202, 10, 53, 221, 30, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_RADIO_YES, 25, 39, 206, 10, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_NO, 25, 25, 209, 10, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
DEFPUSHBUTTON "", DID_OK, 178, 7, 47, 12, WS_GROUP
|
||||
END
|
||||
LTEXT "", 202, 13, 65, 295, 36, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_RADIO_YES, 33, 47, 275, 12, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_RADIO_NO, 33, 31, 279, 12, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
DEFPUSHBUTTON "", DID_OK, 237, 9, 63, 14, WS_GROUP
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_MESSAGE DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_MESSAGE, 0, 224, 221, 28,
|
||||
DIALOG "", DLG_MESSAGE, 0, 158, 295, 34,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
CTEXT "", IDC_MESSAGE, 0, 0, 221, 28, SS_CENTERIMAGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
CTEXT "", IDC_MESSAGE, 0, 0, 295, 34, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_EXTRACTING DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_EXTRACTING, 0, 126, 293, 127,
|
||||
DIALOG "", DLG_EXTRACTING, 0, 38, 390, 154,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
CONTROL "", IDC_GAUGE_FILE, 11, 27, 269, 9, "GaugeFile", 0x0 | WS_VISIBLE
|
||||
CONTROL "", IDC_STATUS0, 11, 67, 269, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_STATUS3, 11, 39, 269, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_GAUGE_ARCHIVE, 11, 54, 269, 9, "GaugeArchive", 0x0 | WS_VISIBLE
|
||||
CONTROL "", IDC_STATUS0, 15, 82, 358, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_GAUGE_ARCHIVE, 15, 66, 358, 11, "GaugeArchive", WS_VISIBLE
|
||||
CONTROL "", IDC_STATUS3, 15, 48, 358, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_GAUGE_FILE, 15, 33, 358, 11, "GaugeFile", WS_VISIBLE
|
||||
CONTROL 114, IDC_STATIC, 0, 120, 390, 34, WC_STATIC, SS_BITMAP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_ADVANCED_SETTINGS DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_ADVANCED_SETTINGS, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_ADVANCED_SETTINGS, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_SERVER, 157, 113, 123, 7, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_PORT, 157, 99, 123, 7, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_USER, 157, 76, 123, 7, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_PASSWD, 157, 62, 123, 7, ES_AUTOSCROLL | ES_UNREADABLE | ES_MARGIN
|
||||
CONTROL "", IDC_USE_FTP, 95, 39, 193, 7, WC_BUTTON, BS_AUTORADIOBUTTON | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
CONTROL "", IDC_USE_HTTP, 95, 29, 193, 7, WC_BUTTON, BS_AUTORADIOBUTTON | BS_PUSHBUTTON | WS_VISIBLE
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
RTEXT "", IDC_STATIC1, 101, 113, 49, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC2, 101, 99, 49, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC, 95, 55, 194, 77, DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE0, 95, 136, 191, 24, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC3, 101, 77, 49, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC4, 101, 62, 49, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_SERVER, 209, 137, 164, 9, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_PORT, 209, 120, 164, 9, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_USER, 209, 93, 164, 9, ES_AUTOSCROLL | ES_MARGIN
|
||||
ENTRYFIELD "", IDC_EDIT_PROXY_PASSWD, 209, 76, 164, 9, ES_AUTOSCROLL | ES_UNREADABLE | ES_MARGIN
|
||||
AUTORADIOBUTTON "", IDC_USE_FTP, 127, 48, 257, 9, WS_TABSTOP | WS_GROUP | WS_VISIBLE
|
||||
AUTORADIOBUTTON "", IDC_USE_HTTP, 127, 35, 257, 9, WS_VISIBLE
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
RTEXT "", IDC_STATIC1, 135, 137, 65, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC2, 135, 121, 65, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC, 127, 67, 258, 94, DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE0, 127, 165, 255, 29, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC3, 135, 94, 65, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
RTEXT "", IDC_STATIC4, 135, 76, 65, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_SELECT_ADDITIONAL_COMPONENTS DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_SELECT_ADDITIONAL_COMPONENTS, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_SELECT_ADDITIONAL_COMPONENTS, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 95, 145, 191, 16, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC1, 95, 136, 118, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC2, 95, 56, 191, 18, DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC_DESCRIPTION, 100, 60, 183, 7, SS_TEXT | DT_WORDBREAK
|
||||
GROUPBOX "", IDC_STATIC, 95, 26, 191, 27, DT_MNEMONIC
|
||||
LTEXT "", IDC_DOWNLOAD_SIZE, 99, 30, 86, 7, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_SPACE_AVAILABLE, 194, 30, 89, 7, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
LTEXT "", IDC_STATIC, 227, 136, 59, 7, 0 | WS_EX_RIGHT | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 99, 39, 86, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC4, 194, 39, 89, 7, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
LTEXT "", IDC_STATIC1, 127, 165, 157, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
// LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 176, 255, 19, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC2, 127, 68, 255, 22, DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC_DESCRIPTION, 133, 73, 244, 8, SS_TEXT | DT_WORDBREAK
|
||||
GROUPBOX "", IDC_STATIC, 127, 32, 255, 33, DT_MNEMONIC
|
||||
LTEXT "", IDC_DOWNLOAD_SIZE, 132, 37, 115, 8, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_SPACE_AVAILABLE, 258, 37, 118, 8, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC, 302, 165, 79, 8, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 132, 48, 115, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC4, 258, 48, 118, 9, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_UPGRADE DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_UPGRADE, 48, 70, 291, 136,
|
||||
DIALOG "", DLG_UPGRADE, 64, -30, 388, 166,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
LTEXT "", IDC_MESSAGE0, 17, 100, 259, 25, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE1, 17, 80, 259, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE2, 17, 59, 259, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC, 15, 32, 259, 21, DT_MNEMONIC
|
||||
LTEXT "", IDC_DELETE_PATH, 21, 35, 248, 11, SS_CENTERIMAGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
PUSHBUTTON "", ID_DELETE, 89, 11, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZBACK, 152, 11, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE0, 22, 122, 345, 31, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE1, 22, 97, 345, 21, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_MESSAGE2, 22, 72, 345, 21, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
GROUPBOX "", IDC_STATIC, 20, 39, 345, 25, DT_MNEMONIC
|
||||
LTEXT "", IDC_DELETE_PATH, 28, 42, 330, 13, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
PUSHBUTTON "", ID_DELETE, 119, 13, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZBACK, 203, 13, 67, 14
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_DOWNLOAD_OPTIONS DISCARDABLE
|
||||
DLGTEMPLATE DLG_ADDITIONAL_OPTIONS DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_DOWNLOAD_OPTIONS, 48, 38, 296, 168,
|
||||
DIALOG "", DLG_ADDITIONAL_OPTIONS, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
CONTROL "",IDC_CHECK_SAVE_INSTALLER_FILES, 95, 122, 191, 7,WC_BUTTON, BS_AUTOCHECKBOX | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
ENTRYFIELD "",IDC_EDIT_LOCAL_INSTALLER_PATH, 97, 109, 188, 7, ES_AUTOSCROLL | ES_READONLY | ES_MARGIN
|
||||
LTEXT "", IDC_MESSAGE0, 95, 78, 191, 21, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
COMBOBOX "", IDC_LIST_SITE_SELECTOR, 95, -26, 191, 102, CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
PUSHBUTTON "",IDC_BUTTON_PROXY_SETTINGS, 208, 26, 79, 12,
|
||||
PUSHBUTTON "", IDWIZBACK, 126, 4, 50, 12,
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 176, 4, 50, 12,
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 4, 50, 12,
|
||||
LTEXT "", IDC_MESSAGE1, 95, 132, 191, 27, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, -1, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_EX_CLIENTEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "", -1, 11, 21, 277, 1, WC_STATIC, SS_ETCHEDHORZ | WS_EX_STATICEDGE | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
CONTROL "",IDC_CHECK_SAVE_INSTALLER_FILES,125,84,255,9, WC_BUTTON, BS_AUTOCHECKBOX | WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
ENTRYFIELD "",IDC_EDIT_LOCAL_INSTALLER_PATH,127,70,251, 9, ES_AUTOSCROLL | ES_READONLY | ES_MARGIN
|
||||
LTEXT "", IDC_MESSAGE0, 125, 152, 255, 33, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
PUSHBUTTON "",IDC_BUTTON_PROXY_SETTINGS,277, 32, 105, 14
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE1, 125, 96, 255, 33, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, -1, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", -1, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
CONTROL "",IDC_CHECK_RECAPTURE_HOMEPAGE,125,141,253, 8, WC_BUTTON, BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_DOWNLOADING DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_DOWNLOADING, 0, 126, 293, 127,
|
||||
DIALOG "", DLG_DOWNLOADING, 0, 38, 390, 154,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON | FCF_NOMOVEWITHOWNER
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
WINDOW "", FID_CLIENT, 0, 0, 0, 0, "MozillaSetupDlg", WS_VISIBLE
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "", IDPAUSE, 128, 5, 47, 12, WS_GROUP
|
||||
PUSHBUTTON "", IDRESUME, 176, 5, 47, 12, WS_GROUP
|
||||
PUSHBUTTON "", DID_CANCEL, 236, 5, 47, 12, WS_GROUP
|
||||
LTEXT "", IDC_MESSAGE0, 9, 76, 275, 19, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 9, 53, 35, 7, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_URL, 47, 53, 238, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC1, 9, 37, 35, 7, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_STATUS, 47, 37, 238, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC2, 9, 61, 35, 7, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_FILE, 47, 61, 238, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_GAUGE_FILE, 9, 24, 254, 9, "GaugeFile", 0x0 | WS_VISIBLE
|
||||
LTEXT "", IDC_PERCENTAGE, 266, 25, 19, 7, SS_TEXT | DT_WORDBREAK
|
||||
DEFPUSHBUTTON "", IDPAUSE, 170, 6, 63, 14, WS_GROUP
|
||||
PUSHBUTTON "", IDRESUME, 234, 6, 63, 14, WS_GROUP
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 6, 63, 14, WS_GROUP
|
||||
LTEXT "", IDC_MESSAGE0, 12, 92, 367, 23, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
LTEXT "", IDC_STATIC3, 12, 65, 47, 8, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_URL, 62, 65, 317, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC1, 12, 45, 47, 8, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_STATUS, 62, 45, 317, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC2, 12, 74, 47, 8, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_FILE, 62, 74, 317, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
CONTROL "", IDC_GAUGE_FILE, 12, 29, 339, 11, "GaugeFile", WS_VISIBLE
|
||||
LTEXT "", IDC_PERCENTAGE, 354, 31, 25, 8, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL 114, IDC_STATIC, 0, 120, 390, 34, WC_STATIC, SS_BITMAP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
LTEXT "", IDC_STATIC4, 9, 45, 35, 7, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_TO, 47, 45, 238, 7, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
END
|
||||
LTEXT "", IDC_STATIC4, 12, 55, 47, 8, SS_TEXT | DT_WORDBREAK
|
||||
CONTROL "", IDC_STATUS_TO, 62, 55, 317, 8, WC_STATIC, DT_LEFT | WS_GROUP | SS_TEXT | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
DLGTEMPLATE DLG_START_INSTALL DISCARDABLE
|
||||
BEGIN
|
||||
DIALOG "", DLG_START_INSTALL, 64, -69, 394, 205,
|
||||
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
|
||||
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
|
||||
BEGIN
|
||||
MLE "", IDC_CURRENT_SETTINGS, 127, 36, 255, 102, MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL | MLS_HSCROLL
|
||||
PUSHBUTTON "", IDWIZBACK, 168, 5, 67, 14
|
||||
DEFPUSHBUTTON "", IDWIZNEXT, 235, 5, 67, 14
|
||||
PUSHBUTTON "", DID_CANCEL, 315, 5, 67, 14
|
||||
LTEXT "", IDC_MESSAGE0, 127, 142, 255, 52, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
|
||||
CONTROL 108, IDC_STATIC, 14, 32, 104, 162, WC_STATIC, SS_BITMAP | WS_VISIBLE
|
||||
CONTROL "", IDC_STATIC, 14, 25, 369, 1, WC_STATIC, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC | WS_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
|
@ -369,10 +351,10 @@ ICON IDI_SETUP DISCARDABLE "setup.ico"
|
|||
// Bitmap
|
||||
//
|
||||
|
||||
BITMAP IDB_BOX_UNCHECKED FIXED IMPURE "box_unch.bmp"
|
||||
BITMAP IDB_BOX_CHECKED FIXED IMPURE "box_chec.bmp"
|
||||
ICON IDB_BOX_UNCHECKED FIXED IMPURE "box_unch.ico"
|
||||
ICON IDB_BOX_CHECKED FIXED IMPURE "box_chec.ico"
|
||||
BITMAP IDB_BITMAP_WELCOME DISCARDABLE "bitmap1.bmp"
|
||||
BITMAP IDB_BOX_CHECKED_DISABLED FIXED IMPURE "box_ch_d.bmp"
|
||||
ICON IDB_BOX_CHECKED_DISABLED FIXED IMPURE "box_ch_d.ico"
|
||||
BITMAP IDB_BITMAP_DOWNLOAD_LOGO DISCARDABLE "downloadLogo.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -384,6 +366,8 @@ STRINGTABLE DISCARDABLE
|
|||
BEGIN
|
||||
IDS_ERROR_FILE_NOT_FOUND "File not found: %s"
|
||||
IDS_MSG_RETRIEVE_INSTALLINI
|
||||
"Please wait while Setup is attempting to retrieve Installer.ini, required by Setup, from the Web..."
|
||||
"Please wait while Setup is attempting to retrieve install.ini, required by Setup, from the Web..."
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче