зеркало из https://github.com/mozilla/gecko-dev.git
fixing bugs:
33004 33006 33007 23662 27588 27593 27598 28539 32706 r=sgehani
This commit is contained in:
Родитель
7b81038eb7
Коммит
d28bf15bf4
|
@ -92,7 +92,7 @@ Verify Existance=
|
|||
[Legacy Check0]
|
||||
Filename=[SETUP PATH]\mozilla.exe
|
||||
Version=6.0.0.0
|
||||
Message=Setup has detected an old version of Mozilla in the chosen destination path that may pose compatibility issues. It is highly recommended that a different destination path be used. Would you like to choose a different path?
|
||||
Message=Setup has detected an old version of Mozilla in the chosen destination directory that may pose compatibility issues. It is highly recommended that a different destination directory be used. Would you like to choose a different directory?
|
||||
|
||||
[Dialog Welcome]
|
||||
Show Dialog=TRUE
|
||||
|
@ -166,7 +166,7 @@ C2=Component2
|
|||
[Dialog Select Components]
|
||||
Show Dialog=TRUE
|
||||
Title=Select Components
|
||||
Message0=
|
||||
Message0=The browser is always installed. Select or clear the additional components you want to install.
|
||||
|
||||
[Dialog Windows Integration]
|
||||
Show Dialog=FALSE
|
||||
|
@ -194,7 +194,7 @@ Archive=
|
|||
[Dialog Program Folder]
|
||||
Show Dialog=TRUE
|
||||
Title=Select Program Folder
|
||||
Message0=Setup will add program icons to the Program Folder listed below. You may type a new folder name, or select one from the Existing Folder list. Click Next to continue.
|
||||
Message0=Setup will add program icons to the Program Folder listed below. You may type a new folder name, or select one from the Existing Folder list. Click Install to begin installation.
|
||||
|
||||
[Dialog Start Install]
|
||||
Show Dialog=FALSE
|
||||
|
@ -248,6 +248,8 @@ Archive=core.xpi
|
|||
$InstallSize$:core
|
||||
$InstallSizeSystem$
|
||||
$InstallSizeArchive$:core.xpi
|
||||
;Dependency0=
|
||||
Dependee0=Mozilla Seamonkey
|
||||
; Attributes can be the following values:
|
||||
; SELECTED - the component is selected to be installed by default.
|
||||
; INVISIBLE - the component is not shown in the Select Components dialog.
|
||||
|
@ -265,7 +267,7 @@ Archive=browser.xpi
|
|||
$InstallSize$:browser
|
||||
$InstallSizeSystem$
|
||||
$InstallSizeArchive$:browser.xpi
|
||||
Dependency0=Mozilla Xpinstall Engine
|
||||
;Dependency0=
|
||||
; Attributes can be the following values:
|
||||
; SELECTED - the component is selected to be installed by default.
|
||||
; INVISIBLE - the component is not shown in the Select Components dialog.
|
||||
|
@ -283,7 +285,7 @@ Archive=mail.xpi
|
|||
$InstallSize$:mail
|
||||
$InstallSizeSystem$
|
||||
$InstallSizeArchive$:mail.xpi
|
||||
Dependency0=Mozilla Xpinstall Engine
|
||||
;Dependency0=
|
||||
; Attributes can be the following values:
|
||||
; SELECTED - the component is selected to be installed by default.
|
||||
; INVISIBLE - the component is not shown in the Select Components dialog.
|
||||
|
|
|
@ -382,9 +382,11 @@ LRESULT CALLBACK DlgProcSetupType(HWND hDlg, UINT msg, WPARAM wParam, LONG lPara
|
|||
HWND hStaticSt2;
|
||||
HWND hRadioSt3;
|
||||
HWND hStaticSt3;
|
||||
HWND hReadme;
|
||||
RECT rDlg;
|
||||
char szBuf[MAX_BUF];
|
||||
char szBufTemp[MAX_BUF];
|
||||
char szBufTemp2[MAX_BUF];
|
||||
|
||||
hRadioSt0 = GetDlgItem(hDlg, IDC_RADIO_ST0);
|
||||
hStaticSt0 = GetDlgItem(hDlg, IDC_STATIC_ST0_DESCRIPTION);
|
||||
|
@ -394,12 +396,13 @@ LRESULT CALLBACK DlgProcSetupType(HWND hDlg, UINT msg, WPARAM wParam, LONG lPara
|
|||
hStaticSt2 = GetDlgItem(hDlg, IDC_STATIC_ST2_DESCRIPTION);
|
||||
hRadioSt3 = GetDlgItem(hDlg, IDC_RADIO_ST3);
|
||||
hStaticSt3 = GetDlgItem(hDlg, IDC_STATIC_ST3_DESCRIPTION);
|
||||
hReadme = GetDlgItem(hDlg, IDC_README);
|
||||
|
||||
switch(msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
if(bCreateDestinationDir)
|
||||
DirectoryRemove(sgProduct.szPath, FALSE);
|
||||
// if(bCreateDestinationDir)
|
||||
// DirectoryRemove(sgProduct.szPath, FALSE);
|
||||
|
||||
SetWindowText(hDlg, diSetupType.szTitle);
|
||||
|
||||
|
@ -485,6 +488,11 @@ LRESULT CALLBACK DlgProcSetupType(HWND hDlg, UINT msg, WPARAM wParam, LONG lPara
|
|||
if(GetClientRect(hDlg, &rDlg))
|
||||
SetWindowPos(hDlg, HWND_TOP, (dwScreenX/2)-(rDlg.right/2), (dwScreenY/2)-(rDlg.bottom/2), 0, 0, SWP_NOSIZE);
|
||||
|
||||
if((*diSetupType.szReadmeFilename == '\0') || (FileExists(diSetupType.szReadmeFilename) == FALSE))
|
||||
ShowWindow(hReadme, SW_HIDE);
|
||||
else
|
||||
ShowWindow(hReadme, SW_SHOW);
|
||||
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
|
@ -556,25 +564,42 @@ LRESULT CALLBACK DlgProcSetupType(HWND hDlg, UINT msg, WPARAM wParam, LONG lPara
|
|||
|
||||
if(FileExists(szBuf) == FALSE)
|
||||
{
|
||||
if(CreateDirectoriesAll(szBuf) == FALSE)
|
||||
char szMsgCreateDirectory[MAX_BUF];
|
||||
char szStrCreateDirectory[MAX_BUF];
|
||||
|
||||
NS_LoadString(hSetupRscInst, IDS_STR_CREATE_DIRECTORY, szStrCreateDirectory, MAX_BUF);
|
||||
if(NS_LoadString(hSetupRscInst, IDS_MSG_CREATE_DIRECTORY, szMsgCreateDirectory, MAX_BUF) == WIZ_OK)
|
||||
{
|
||||
char szECreateDirectory[MAX_BUF];
|
||||
|
||||
lstrcpy(szBufTemp, "\n\n ");
|
||||
lstrcat(szBufTemp, sgProduct.szPath);
|
||||
lstrcat(szBufTemp, szBuf);
|
||||
RemoveBackSlash(szBufTemp);
|
||||
lstrcat(szBufTemp, "\n\n");
|
||||
wsprintf(szBufTemp2, szMsgCreateDirectory, szBufTemp);
|
||||
}
|
||||
|
||||
if(NS_LoadString(hSetupRscInst, IDS_ERROR_CREATE_DIRECTORY, szECreateDirectory, MAX_BUF) == WIZ_OK)
|
||||
wsprintf(szBuf, szECreateDirectory, szBufTemp);
|
||||
if(MessageBox(hDlg, szBufTemp2, szStrCreateDirectory, MB_YESNO | MB_ICONQUESTION) == IDYES)
|
||||
{
|
||||
if(CreateDirectoriesAll(szBuf) == FALSE)
|
||||
{
|
||||
char szECreateDirectory[MAX_BUF];
|
||||
|
||||
MessageBox(hDlg, szBuf, "", MB_OK | MB_ICONERROR);
|
||||
lstrcpy(szBufTemp, "\n\n ");
|
||||
lstrcat(szBufTemp, sgProduct.szPath);
|
||||
RemoveBackSlash(szBufTemp);
|
||||
lstrcat(szBufTemp, "\n\n");
|
||||
|
||||
if(NS_LoadString(hSetupRscInst, IDS_ERROR_CREATE_DIRECTORY, szECreateDirectory, MAX_BUF) == WIZ_OK)
|
||||
wsprintf(szBuf, szECreateDirectory, szBufTemp);
|
||||
|
||||
MessageBox(hDlg, szBuf, "", MB_OK | MB_ICONERROR);
|
||||
break;
|
||||
}
|
||||
bCreateDestinationDir = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
bCreateDestinationDir = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
bCreateDestinationDir = FALSE;
|
||||
}
|
||||
|
||||
/* retrieve and save the state of the selected radio button */
|
||||
|
@ -716,13 +741,16 @@ void SunJavaDependencyHack(DWORD dwIndex, BOOL bSelected)
|
|||
|
||||
void ToggleCheck(HWND hwndListBox, DWORD dwIndex)
|
||||
{
|
||||
BOOL bMoreToResolve;
|
||||
BOOL bMoreToResolve;
|
||||
LPSTR szToggledDescriptionShort = NULL;
|
||||
|
||||
// Checks to see if the checkbox is checked or not checked, and
|
||||
// toggles the node attributes appropriately.
|
||||
if(SiCNodeGetAttributes(dwIndex, FALSE) & SIC_SELECTED)
|
||||
{
|
||||
SiCNodeSetAttributes(dwIndex, SIC_SELECTED, FALSE, FALSE);
|
||||
szToggledDescriptionShort = SiCNodeGetDescriptionShort(dwIndex, FALSE);
|
||||
ResolveDependees(szToggledDescriptionShort);
|
||||
SunJavaDependencyHack(dwIndex, FALSE);
|
||||
}
|
||||
else
|
||||
|
@ -733,6 +761,8 @@ void ToggleCheck(HWND hwndListBox, DWORD dwIndex)
|
|||
while(bMoreToResolve)
|
||||
bMoreToResolve = ResolveDependencies(-1);
|
||||
|
||||
szToggledDescriptionShort = SiCNodeGetDescriptionShort(dwIndex, FALSE);
|
||||
ResolveDependees(szToggledDescriptionShort);
|
||||
SunJavaDependencyHack(dwIndex, TRUE);
|
||||
}
|
||||
|
||||
|
@ -829,6 +859,7 @@ LRESULT CALLBACK DlgProcSelectComponents(HWND hDlg, UINT msg, WPARAM wParam, LON
|
|||
{
|
||||
case WM_INITDIALOG:
|
||||
SetWindowText(hDlg, diSelectComponents.szTitle);
|
||||
SetDlgItemText(hDlg, IDC_MESSAGE0, diSelectComponents.szMessage0);
|
||||
|
||||
siCTemp = siComponents;
|
||||
if(siCTemp != NULL)
|
||||
|
@ -852,7 +883,6 @@ LRESULT CALLBACK DlgProcSelectComponents(HWND hDlg, UINT msg, WPARAM wParam, LON
|
|||
if(GetClientRect(hDlg, &rDlg))
|
||||
SetWindowPos(hDlg, HWND_TOP, (dwScreenX/2)-(rDlg.right/2), (dwScreenY/2)-(rDlg.bottom/2), 0, 0, SWP_NOSIZE);
|
||||
|
||||
#ifdef XXX_SSU
|
||||
/* update the disk space available info in the dialog. GetDiskSpaceAvailable()
|
||||
returns value in kbytes */
|
||||
ullDSBuf = GetDiskSpaceAvailable(sgProduct.szPath);
|
||||
|
@ -862,8 +892,7 @@ LRESULT CALLBACK DlgProcSelectComponents(HWND hDlg, UINT msg, WPARAM wParam, LON
|
|||
lstrcat(szBuf, " - ");
|
||||
lstrcat(szBuf, tchBuffer);
|
||||
lstrcat(szBuf, " K");
|
||||
SetDlgItemText(hDlg, IDC_STATIC_DRIVE_SPACE_AVAILABLE, szBuf);
|
||||
#endif
|
||||
SetDlgItemText(hDlg, IDC_SPACE_AVAILABLE, szBuf);
|
||||
|
||||
OldListBoxWndProc = SubclassWindow(hwndLBComponents, (WNDPROC)NewListBoxWndProc);
|
||||
break;
|
||||
|
@ -975,7 +1004,7 @@ LRESULT CALLBACK DlgProcSelectComponents(HWND hDlg, UINT msg, WPARAM wParam, LON
|
|||
lstrcpy(szBuf, tchBuffer);
|
||||
lstrcat(szBuf, " K");
|
||||
|
||||
SetDlgItemText(hDlg, IDC_STATIC_DRIVE_SPACE_REQUIRED, szBuf);
|
||||
SetDlgItemText(hDlg, IDC_DOWNLOAD_SIZE, szBuf);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
|
@ -1051,6 +1080,7 @@ LRESULT CALLBACK DlgProcSelectAdditions(HWND hDlg, UINT msg, WPARAM wParam, LONG
|
|||
{
|
||||
case WM_INITDIALOG:
|
||||
SetWindowText(hDlg, diSelectComponents.szTitle);
|
||||
SetDlgItemText(hDlg, IDC_MESSAGE0, diSelectComponents.szMessage0);
|
||||
|
||||
siCTemp = siComponents;
|
||||
if(siCTemp != NULL)
|
||||
|
@ -1409,7 +1439,16 @@ LRESULT CALLBACK DlgProcProgramFolder(HWND hDlg, UINT msg, WPARAM wParam, LONG l
|
|||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDWIZNEXT:
|
||||
GetDlgItemText(hDlg, IDC_EDIT_PROGRAM_FOLDER, sgProduct.szProgramFolderName, MAX_BUF);
|
||||
GetDlgItemText(hDlg, IDC_EDIT_PROGRAM_FOLDER, szBuf, MAX_BUF);
|
||||
if(*szBuf == '\0')
|
||||
{
|
||||
char szEProgramFolderName[MAX_BUF];
|
||||
|
||||
NS_LoadString(hSetupRscInst, IDS_ERROR_PROGRAM_FOLDER_NAME, szEProgramFolderName, MAX_BUF);
|
||||
MessageBox(hDlg, szEProgramFolderName, NULL, MB_OK | MB_ICONEXCLAMATION);
|
||||
break;
|
||||
}
|
||||
lstrcpy(sgProduct.szProgramFolderName, szBuf);
|
||||
|
||||
DestroyWindow(hDlg);
|
||||
PostMessage(hWndMain, WM_COMMAND, IDWIZNEXT, 0);
|
||||
|
|
|
@ -1370,6 +1370,7 @@ siC *CreateSiCNode()
|
|||
if((siCNode->szParameter = NS_GlobalAlloc(MAX_BUF)) == NULL)
|
||||
exit(1);
|
||||
siCNode->siCDDependencies = NULL;
|
||||
siCNode->siCDDependees = NULL;
|
||||
siCNode->Next = NULL;
|
||||
siCNode->Prev = NULL;
|
||||
|
||||
|
@ -1398,6 +1399,7 @@ void SiCNodeDelete(siC *siCTemp)
|
|||
if(siCTemp != NULL)
|
||||
{
|
||||
DeInitSiCDependencies(siCTemp->siCDDependencies);
|
||||
DeInitSiCDependencies(siCTemp->siCDDependees);
|
||||
|
||||
siCTemp->Next->Prev = siCTemp->Prev;
|
||||
siCTemp->Prev->Next = siCTemp->Next;
|
||||
|
@ -1591,6 +1593,38 @@ void SiCNodeSetItemsSelected(DWORD dwItems, DWORD *dwItemsSelected)
|
|||
}
|
||||
}
|
||||
|
||||
char *SiCNodeGetDescriptionShort(DWORD dwIndex, BOOL bIncludeInvisible)
|
||||
{
|
||||
DWORD dwCount = 0;
|
||||
siC *siCTemp = siComponents;
|
||||
|
||||
if(siCTemp != NULL)
|
||||
{
|
||||
if((bIncludeInvisible == TRUE) || ((bIncludeInvisible == FALSE) && (!(siCTemp->dwAttributes & SIC_INVISIBLE))))
|
||||
{
|
||||
if(dwIndex == 0)
|
||||
return(siCTemp->szDescriptionShort);
|
||||
|
||||
++dwCount;
|
||||
}
|
||||
|
||||
siCTemp = siCTemp->Next;
|
||||
while((siCTemp != NULL) && (siCTemp != siComponents))
|
||||
{
|
||||
if((bIncludeInvisible == TRUE) || ((bIncludeInvisible == FALSE) && (!(siCTemp->dwAttributes & SIC_INVISIBLE))))
|
||||
{
|
||||
if(dwIndex == dwCount)
|
||||
return(siCTemp->szDescriptionShort);
|
||||
|
||||
++dwCount;
|
||||
}
|
||||
|
||||
siCTemp = siCTemp->Next;
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
char *SiCNodeGetDescriptionLong(DWORD dwIndex, BOOL bIncludeInvisible)
|
||||
{
|
||||
DWORD dwCount = 0;
|
||||
|
@ -2303,9 +2337,11 @@ void InitSiComponents(char *szFileIni)
|
|||
char szBuf[MAX_BUF];
|
||||
char szComponentItem[MAX_BUF];
|
||||
char szDependency[MAX_BUF];
|
||||
char szDependee[MAX_BUF];
|
||||
char szDPSection[MAX_BUF];
|
||||
siC *siCTemp;
|
||||
siCD *siCDepTemp;
|
||||
siCD *siCDDependeeTemp;
|
||||
|
||||
dwIndex0 = 0;
|
||||
itoa(dwIndex0, szIndex0, 10);
|
||||
|
@ -2391,6 +2427,30 @@ void InitSiComponents(char *szFileIni)
|
|||
GetPrivateProfileString(szComponentItem, szDependency, "", szBuf, MAX_BUF, szFileIni);
|
||||
}
|
||||
|
||||
/* get all dependees for this component */
|
||||
dwIndex1 = 0;
|
||||
itoa(dwIndex1, szIndex1, 10);
|
||||
lstrcpy(szDependee, "Dependee");
|
||||
lstrcat(szDependee, szIndex1);
|
||||
GetPrivateProfileString(szComponentItem, szDependee, "", szBuf, MAX_BUF, szFileIni);
|
||||
while(*szBuf != '\0')
|
||||
{
|
||||
/* create and initialize empty node */
|
||||
siCDDependeeTemp = CreateSiCDepNode();
|
||||
|
||||
/* store name of archive for component */
|
||||
lstrcpy(siCDDependeeTemp->szDescriptionShort, szBuf);
|
||||
|
||||
/* inserts the newly created component into the global component queue */
|
||||
SiCDepNodeInsert(&(siCTemp->siCDDependees), siCDDependeeTemp);
|
||||
|
||||
++dwIndex1;
|
||||
itoa(dwIndex1, szIndex1, 10);
|
||||
lstrcpy(szDependee, "Dependee");
|
||||
lstrcat(szDependee, szIndex1);
|
||||
GetPrivateProfileString(szComponentItem, szDependee, "", szBuf, MAX_BUF, szFileIni);
|
||||
}
|
||||
|
||||
// locate previous path if necessary
|
||||
lstrcpy(szDPSection, szComponentItem);
|
||||
lstrcat(szDPSection, "-Destination Path");
|
||||
|
@ -2625,6 +2685,86 @@ BOOL ResolveDependencies(DWORD dwIndex)
|
|||
return(bMoreToResolve);
|
||||
}
|
||||
|
||||
BOOL ResolveComponentDependee(siCD *siCDInDependee)
|
||||
{
|
||||
int dwIndex;
|
||||
siCD *siCDDependeeTemp = siCDInDependee;
|
||||
BOOL bAtLeastOneSelected = FALSE;
|
||||
|
||||
if(siCDDependeeTemp != NULL)
|
||||
{
|
||||
if((dwIndex = SiCNodeGetIndexDS(siCDDependeeTemp->szDescriptionShort)) != -1)
|
||||
{
|
||||
if((SiCNodeGetAttributes(dwIndex, TRUE) & SIC_SELECTED) == TRUE)
|
||||
{
|
||||
bAtLeastOneSelected = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
siCDDependeeTemp = siCDDependeeTemp->Next;
|
||||
while((siCDDependeeTemp != NULL) && (siCDDependeeTemp != siCDInDependee))
|
||||
{
|
||||
if((dwIndex = SiCNodeGetIndexDS(siCDDependeeTemp->szDescriptionShort)) != -1)
|
||||
{
|
||||
if((SiCNodeGetAttributes(dwIndex, TRUE) & SIC_SELECTED) == TRUE)
|
||||
{
|
||||
bAtLeastOneSelected = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
siCDDependeeTemp = siCDDependeeTemp->Next;
|
||||
}
|
||||
}
|
||||
return(bAtLeastOneSelected);
|
||||
}
|
||||
|
||||
void ResolveDependees(LPSTR szToggledDescriptionShort)
|
||||
{
|
||||
BOOL bAtLeastOneSelected;
|
||||
BOOL bMoreToResolve = FALSE;
|
||||
siC *siCTemp = siComponents;
|
||||
DWORD dwIndex;
|
||||
|
||||
do
|
||||
{
|
||||
if(siCTemp == NULL)
|
||||
break;
|
||||
|
||||
if((siCTemp->siCDDependees != NULL) &&
|
||||
(lstrcmpi(siCTemp->szDescriptionShort, szToggledDescriptionShort) != 0))
|
||||
{
|
||||
bAtLeastOneSelected = ResolveComponentDependee(siCTemp->siCDDependees);
|
||||
if(bAtLeastOneSelected == FALSE)
|
||||
{
|
||||
if((dwIndex = SiCNodeGetIndexDS(siCTemp->szDescriptionShort)) != -1)
|
||||
{
|
||||
if((SiCNodeGetAttributes(dwIndex, TRUE) & SIC_SELECTED) == TRUE)
|
||||
{
|
||||
SiCNodeSetAttributes(dwIndex, SIC_SELECTED, FALSE, TRUE);
|
||||
bMoreToResolve = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if((dwIndex = SiCNodeGetIndexDS(siCTemp->szDescriptionShort)) != -1)
|
||||
{
|
||||
if((SiCNodeGetAttributes(dwIndex, TRUE) & SIC_SELECTED) == FALSE)
|
||||
{
|
||||
SiCNodeSetAttributes(dwIndex, SIC_SELECTED, TRUE, TRUE);
|
||||
bMoreToResolve = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
siCTemp = siCTemp->Next;
|
||||
} while((siCTemp != NULL) && (siCTemp != siComponents));
|
||||
|
||||
if(bMoreToResolve == TRUE)
|
||||
ResolveDependees(szToggledDescriptionShort);
|
||||
}
|
||||
|
||||
void GetAlternateArchiveSearchPath(LPSTR lpszCmdLine)
|
||||
{
|
||||
char szBuf[MAX_PATH];
|
||||
|
|
|
@ -75,6 +75,7 @@ void SiCDepNodeInsert(siCD **siCDepHead, siCD *siCDepTemp);
|
|||
HRESULT SiCNodeGetAttributes(DWORD dwIndex, BOOL bIncludeInvisible);
|
||||
void SiCNodeSetAttributes(DWORD dwIndex, DWORD dwAttributes, BOOL bSet, BOOL bIncludeInvisible);
|
||||
void SiCNodeSetItemsSelected(DWORD dwItems, DWORD *dwItemsSelected);
|
||||
char *SiCNodeGetDescriptionShort(DWORD dwIndex, BOOL bIncludeInvisible);
|
||||
char *SiCNodeGetDescriptionLong(DWORD dwIndex, BOOL bIncludeInvisible);
|
||||
siC *SiCNodeGetObject(DWORD dwIndex, BOOL bIncludeInvisibleObjs);
|
||||
ULONGLONG SiCNodeGetInstallSize(DWORD dwIndex, BOOL bIncludeInvisible);
|
||||
|
@ -86,6 +87,8 @@ void InitSiComponents(char *szFileIni);
|
|||
void DeInitSiCDependencies(siCD *siCDDependencies);
|
||||
BOOL ResolveDependencies(DWORD dwIndex);
|
||||
BOOL ResolveComponentDependency(siCD *siCDInDependency);
|
||||
void ResolveDependees(LPSTR szToggledDescriptionShort);
|
||||
BOOL ResolveComponentDependee(siCD *siCDInDependee);
|
||||
void STGetComponents(LPSTR szSection, st *stSetupType, LPSTR szFileIni);
|
||||
HRESULT InitSCoreFile(void);
|
||||
void DeInitSCoreFile(void);
|
||||
|
|
|
@ -298,6 +298,7 @@ struct sinfoComponent
|
|||
LPSTR szDescriptionLong;
|
||||
LPSTR szParameter;
|
||||
siCD *siCDDependencies;
|
||||
siCD *siCDDependees;
|
||||
siC *Next;
|
||||
siC *Prev;
|
||||
};
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
// Microsoft Developer Studio generated include file.
|
||||
// Used by setuprsc.rc
|
||||
//
|
||||
//#include "winres.h"
|
||||
|
||||
#include "winresrc.h"
|
||||
//#include "winuser.rh"
|
||||
|
||||
#ifdef IDC_STATIC
|
||||
#undef IDC_STATIC
|
||||
|
@ -65,6 +64,7 @@
|
|||
#define IDC_CHECK2 1023
|
||||
#define IDC_LIST2 1023
|
||||
#define IDC_LIST 1023
|
||||
#define WINVER 0x400
|
||||
#define IDC_CHECK3 1024
|
||||
#define IDC_EDIT_LICENSE 1024
|
||||
#define IDC_CHECK0 1025
|
||||
|
@ -72,6 +72,7 @@
|
|||
#define IDC_LIST_COMPONENTS 1027
|
||||
#define IDC_LIST_SUBCOMPONENTS 1029
|
||||
#define IDC_STATIC_DRIVE_SPACE_REQUIRED 1030
|
||||
#define IDC_SPACE_AVAILABLE 1030
|
||||
#define IDC_STATIC_DRIVE_SPACE_AVAILABLE 1031
|
||||
#define IDC_STATIC_DESTINATION 1032
|
||||
#define IDC_STATIC0 1033
|
||||
|
@ -89,6 +90,7 @@
|
|||
#define IDC_LIST1 1053
|
||||
#define IDC_BUTTON1 1055
|
||||
#define IDC_README 1055
|
||||
#define IDC_DOWNLOAD_SIZE 1058
|
||||
#define DLG_WELCOME 2001
|
||||
#define DLG_LICENSE 2002
|
||||
#define DLG_SETUP_TYPE 2003
|
||||
|
@ -113,6 +115,9 @@
|
|||
#define IDC_RADIO_NO 11012
|
||||
#define IDWIZBACK 11013
|
||||
#define IDWIZNEXT 11014
|
||||
#define IDS_MSG_CREATE_DIRECTORY 11015
|
||||
#define IDS_STR_CREATE_DIRECTORY 11016
|
||||
#define IDS_ERROR_PROGRAM_FOLDER_NAME 11017
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
|
@ -121,7 +126,7 @@
|
|||
#define _APS_NO_MFC 1
|
||||
#define _APS_NEXT_RESOURCE_VALUE 112
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1058
|
||||
#define _APS_NEXT_CONTROL_VALUE 1059
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -93,7 +93,7 @@ BEGIN
|
|||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,11,179,295,1,
|
||||
WS_EX_STATICEDGE
|
||||
PUSHBUTTON "Read Me",IDC_README,11,186,53,14
|
||||
LTEXT "",IDC_EDIT_DESTINATION,107,160,144,9
|
||||
LTEXT "",IDC_EDIT_DESTINATION,107,160,146,9
|
||||
END
|
||||
|
||||
DLG_SELECT_COMPONENTS DIALOG DISCARDABLE 51, 56, 316, 205
|
||||
|
@ -103,24 +103,23 @@ BEGIN
|
|||
PUSHBUTTON "< &Back",IDWIZBACK,134,186,53,14
|
||||
DEFPUSHBUTTON "&Next >",IDWIZNEXT,188,186,53,14
|
||||
PUSHBUTTON "&Cancel",IDCANCEL,252,186,53,14
|
||||
LTEXT "Netscape Navigator is always installed. Select or clear the additional components you want to install.",
|
||||
IDC_STATIC,101,10,204,19,NOT WS_GROUP
|
||||
LTEXT "",IDC_MESSAGE0,101,10,204,19,NOT WS_GROUP
|
||||
LTEXT "C&omponents",IDC_STATIC,101,32,103,8
|
||||
GROUPBOX "Description",IDC_STATIC,101,124,204,22
|
||||
LTEXT "",IDC_STATIC_DESCRIPTION,106,133,195,8
|
||||
GROUPBOX "&Download information",IDC_STATIC,101,150,204,23
|
||||
LTEXT "Total download size:",IDC_STATIC,106,160,91,8,NOT
|
||||
WS_GROUP
|
||||
RTEXT "",IDC_STATIC_DRIVE_SPACE_REQUIRED,206,160,94,8,NOT
|
||||
WS_GROUP
|
||||
GROUPBOX "Description",IDC_STATIC,101,115,204,22
|
||||
LTEXT "",IDC_STATIC_DESCRIPTION,106,124,195,8
|
||||
GROUPBOX "",IDC_STATIC,101,140,204,33
|
||||
LTEXT "",IDC_DOWNLOAD_SIZE,105,160,92,8,NOT WS_GROUP
|
||||
LTEXT "",IDC_SPACE_AVAILABLE,206,160,94,8,NOT WS_GROUP
|
||||
CONTROL 108,IDC_STATIC,"Static",SS_BITMAP,11,11,83,162,
|
||||
WS_EX_CLIENTEDGE
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,11,179,295,1,
|
||||
WS_EX_STATICEDGE
|
||||
LISTBOX IDC_LIST_COMPONENTS,101,42,204,78,LBS_OWNERDRAWFIXED |
|
||||
LISTBOX IDC_LIST_COMPONENTS,101,42,204,67,LBS_OWNERDRAWFIXED |
|
||||
LBS_HASSTRINGS | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT |
|
||||
WS_VSCROLL | WS_HSCROLL | WS_GROUP | WS_TABSTOP
|
||||
LTEXT "",IDC_STATIC,201,32,103,8,0,WS_EX_RIGHT
|
||||
LTEXT "Total download size:",IDC_STATIC,105,148,92,9
|
||||
LTEXT "Space Available:",IDC_STATIC,206,148,94,9
|
||||
END
|
||||
|
||||
DLG_WINDOWS_INTEGRATION DIALOG DISCARDABLE 51, 56, 315, 205
|
||||
|
@ -156,8 +155,7 @@ BEGIN
|
|||
PUSHBUTTON "< &Back",IDWIZBACK,134,186,53,14
|
||||
DEFPUSHBUTTON "&Install",IDWIZNEXT,188,186,53,14
|
||||
PUSHBUTTON "&Cancel",IDCANCEL,252,186,53,14
|
||||
LTEXT "Click the type of Setup you prefer, then click Next.",
|
||||
IDC_MESSAGE0,101,11,204,33,NOT WS_GROUP
|
||||
LTEXT "",IDC_MESSAGE0,101,11,204,33,NOT WS_GROUP
|
||||
LTEXT "&Program Folder:",IDC_STATIC,101,54,105,8
|
||||
LTEXT "E&xisting Folders:",IDC_STATIC,101,84,163,8
|
||||
CONTROL 108,IDC_STATIC,"Static",SS_BITMAP,11,11,83,162,
|
||||
|
@ -334,6 +332,14 @@ BEGIN
|
|||
IDS_MB_WARNING_STR "Warning"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_MSG_CREATE_DIRECTORY
|
||||
"The following directory does not exist:%sWould you like to create it?"
|
||||
IDS_STR_CREATE_DIRECTORY "Create Directory?"
|
||||
IDS_ERROR_PROGRAM_FOLDER_NAME "Invalid program folder name entered."
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче