r=pedemont, sr=blizzard (platform specific)
Installer updates for OS/2
This commit is contained in:
mkaply%us.ibm.com 2004-01-09 22:05:50 +00:00
Родитель 8d9d1431c2
Коммит d3cf07ea39
5 изменённых файлов: 257 добавлений и 131 удалений

Просмотреть файл

@ -15,6 +15,7 @@ User Agent=$UserAgent$
; Destination Path values:
; OS2DISK
; OS2DIR
; OS2SYSDIR
Path=[OS2DISK]\$CompanyName$\$ProductName$
; Sub Path, when set will indicate to Setup to create a subfolder from
@ -86,11 +87,21 @@ Confirmation Message=There was an error encountered during installation of $Prod
;
[Locate Previous Product Path0]
App=[Product CurrentVersion]
Name=Install Directory
Key=Install Directory
Decrypt App=TRUE
Contains Filename=FALSE
Verify Existence=
; This version allows previous product path to be found from an arbitrary INI file
; This was used by IBM Web Browser to locate installs from previous installers
;[Locate Previous Product Path1]
;INI=[OS2SYSDIR]\EPFIS.INI
;Decrypt INI=TRUE
;App=EPFINST_IBM Web Browser for OS/2_0000-000_0000
;Key=FilePath
;Contains Filename=FALSE
;Verify Existence=
[Dialog Welcome]
Show Dialog=TRUE
;*** LOCALIZE ME BABY ***
@ -321,6 +332,7 @@ Message Retry0=Some files have failed the CRC check and are being downloaded aga
Show Dialog=AUTO
[Check Instance0]
; If you create your own product, make sure to change this name to something else
Class Name=MozillaMessageWindow
Window Name=
;*** LOCALIZE ME BABY ***
@ -633,29 +645,29 @@ Destination=[SETUP PATH]\install_wizard.log
;RunAppX sections
[RunApp0]
Timing=depend reboot
Wait=FALSE
Target=[SETUP PATH]\$MainExeFile$
Parameters=-installer
WorkingDir=[SETUP PATH]
;[RunApp0]
;Timing=depend reboot
;Wait=FALSE
;Target=[SETUP PATH]\$MainExeFile$
;Parameters=-installer
;WorkingDir=[SETUP PATH]
;The Criterion ID=RecaptureHP associates the decision to run this app with
; the user input to the Recapture Homepage checkbox offered (optionally) in the
; Additional Options dialog.
Criterion ID=RecaptureHP
Run App If Criterion=FALSE
;Criterion ID=RecaptureHP
;Run App If Criterion=FALSE
[RunApp1]
Timing=depend reboot
Wait=FALSE
Target=[SETUP PATH]\$MainExeFile$
Parameters=-installer -resetPref browser.startup.homepage
WorkingDir=[SETUP PATH]
;[RunApp1]
;Timing=depend reboot
;Wait=FALSE
;Target=[SETUP PATH]\$MainExeFile$
;Parameters=-installer -resetPref browser.startup.homepage
;WorkingDir=[SETUP PATH]
;The Criterion ID=RecaptureHP associates the decision to run this app with
; the user input to the Recapture Homepage checkbox offered (optionally) in the
; Additional Options dialog.
Criterion ID=RecaptureHP
Run App If Criterion=TRUE
;Criterion ID=RecaptureHP
;Run App If Criterion=TRUE
[OS2 INI0]
App=$ProductName$ $UserAgent$
@ -729,14 +741,30 @@ Decrypt Key=FALSE
Decrypt Key Value=TRUE
Timing=pre smartupdate
[Cleanup Previous Product INIApps]
Product Name0=Mozilla
Product INI App0=Mozilla
Current Version0=$UserAgent$
; This version looks in the default INI for anything beginning with Product Name
; and if it begins with product name and doesn't have current version set the same
; and the value of Key is the same as the installed directory, it removes the
; entire app
[Cleanup Previous Product INIApps0]
Product Name=$ProductName$
Current Version=$UserAgent$
Key=Install Directory
; This version looks in a specified or the default INI for the given App
; and if the value of the specified Key matched the installed directory,
; it removes the entire app
;[Cleanup Previous Product INIApps1]
;INI=[OS2SYSDIR]\EPFIS.INI
;Decrypt INI=TRUE
;App=EPFINST_IBM Web Browser for OS/2_0000-000_0000
;Key=FilePath
; Open Folder indicates whether to open the program folder after the install
;
; Default value is TRUE if nothing is set.
;
; When creating objects, you can specify Attribute=UPDATE or FAIL
; FAIL will fail when trying to create the object, UPDATE will replace it
[Program Folder0]
Timing=post smartupdate

Просмотреть файл

@ -156,9 +156,13 @@ MRESULT EXPENTRY DlgProcWelcome(HWND hDlg, ULONG msg, MPARAM mp1, MPARAM mp2)
/* Initialize controls */
WinSetWindowText(hDlg, diWelcome.szTitle);
sprintf(szBuf, diWelcome.szMessage0, sgProduct.szProductName, sgProduct.szProductName);
strcat(szBuf, "\n\n");
strcat(szBuf, diWelcome.szMessage1);
strcat(szBuf, "\n\n");
strcat(szBuf, diWelcome.szMessage2);
WinSetDlgItemText(hDlg, IDC_STATIC0, szBuf);
WinSetDlgItemText(hDlg, IDC_STATIC1, diWelcome.szMessage1);
WinSetDlgItemText(hDlg, IDC_STATIC2, diWelcome.szMessage2);
// WinSetDlgItemText(hDlg, IDC_STATIC1, diWelcome.szMessage1);
// WinSetDlgItemText(hDlg, IDC_STATIC2, diWelcome.szMessage2);
WinSetDlgItemText(hDlg, IDWIZNEXT, sgInstallGui.szNext_);
WinSetDlgItemText(hDlg, IDCANCEL, sgInstallGui.szCancel_);
@ -1612,6 +1616,11 @@ void AppendStringWOTilde(LPSTR szInputString, DWORD dwInputStringSize, LPSTR szS
{
if(szString[i] != '~')
szInputString[iInputStringCounter++] = szString[i];
else
if (szString[i-1] == '(') {
szInputString[iInputStringCounter-1] = '\0';
break;
}
}
}

Просмотреть файл

@ -5466,9 +5466,11 @@ BOOL LocatePathOS2INI(PSZ szSection, PSZ szPath, ULONG ulPathSize)
char szName[MAX_BUF];
char szVerifyExistence[MAX_BUF];
char szBuf[MAX_BUF];
char szIni[MAX_BUF];
BOOL bDecryptKey;
BOOL bContainsFilename;
BOOL bReturn;
HINI hini = HINI_USERPROFILE;
bReturn = FALSE;
GetPrivateProfileString(szSection, "App", "", szApp, sizeof(szApp), szFileIniConfig);
@ -5477,7 +5479,7 @@ BOOL LocatePathOS2INI(PSZ szSection, PSZ szPath, ULONG ulPathSize)
bReturn = FALSE;
memset(szPath, 0, ulPathSize);
GetPrivateProfileString(szSection, "Name", "", szName, sizeof(szName), szFileIniConfig);
GetPrivateProfileString(szSection, "Key", "", szName, sizeof(szName), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt App", "", szBuf, sizeof(szBuf), szFileIniConfig);
if(stricmp(szBuf, "FALSE") == 0)
bDecryptKey = FALSE;
@ -5501,7 +5503,21 @@ BOOL LocatePathOS2INI(PSZ szSection, PSZ szPath, ULONG ulPathSize)
strcpy(szApp, szBuf);
}
PrfQueryProfileString(HINI_USERPROFILE, szApp, szName, "", szBuf, sizeof(szBuf));
GetPrivateProfileString(szSection, "INI", "", szIni, sizeof(szIni), szFileIniConfig);
if (szIni[0]) {
BOOL bDecryptINI;
GetPrivateProfileString(szSection, "Decrypt INI", "", szBuf, sizeof(szBuf), szFileIniConfig);
if(stricmp(szBuf, "FALSE")) {
DecryptString(szBuf, szIni);
strcpy(szIni, szBuf);
}
hini = PrfOpenProfile((HAB)0, szIni);
}
PrfQueryProfileString(hini, szApp, szName, "", szBuf, sizeof(szBuf));
if (szIni[0]) {
PrfCloseProfile(hini);
}
if(*szBuf != '\0')
{
if(stricmp(szVerifyExistence, "FILE") == 0)
@ -5641,7 +5657,18 @@ HRESULT DecryptVariable(PSZ szVariable, ULONG ulVariableSize)
/* Locate the "OS2" directory */
ULONG ulBootDrive = 0;
APIRET rc;
char buffer[] = " :\\OS2\\";
char buffer[] = " :\\OS2";
DosQuerySysInfo(QSV_BOOT_DRIVE, QSV_BOOT_DRIVE,
&ulBootDrive, sizeof(ulBootDrive));
buffer[0] = 'A' - 1 + ulBootDrive;
strcpy(szVariable, buffer);
}
else if(stricmp(szVariable, "OS2SYSDIR") == 0)
{
/* Locate the "OS2\SYSTEM" directory */
ULONG ulBootDrive = 0;
APIRET rc;
char buffer[] = " :\\OS2\\SYSTEM";
DosQuerySysInfo(QSV_BOOT_DRIVE, QSV_BOOT_DRIVE,
&ulBootDrive, sizeof(ulBootDrive));
buffer[0] = 'A' - 1 + ulBootDrive;

Просмотреть файл

@ -129,17 +129,24 @@ void GetUserAgentShort(char *szUserAgent, char *szOutUAShort, DWORD dwOutUAShort
void CleanupPreviousVersionINIKeys(void)
{
ULONG ulIndex = 0;
char szBufTiny[MAX_BUF_TINY];
char szIndex[MAX_BUF];
char szSection[MAX_BUF];
char szValue[MAX_BUF];
char szPath[MAX_BUF];
char szBuf[MAX_BUF];
char szDecrypt[MAX_BUF];
char szMainSectionName[] = "Cleanup Previous Product INIApps";
char szApp[MAX_BUF];
char szKey[MAX_BUF];
char szDirKey[MAX_BUF];
char szCleanupProduct[MAX_BUF];
char szCurrentVersion[MAX_BUF_TINY];
char szUserAgent[MAX_BUF];
char szPath[MAX_BUF];
char szApp[MAX_BUF];
char szCleanupProduct[MAX_BUF];
char szName[] = "Install Directory";
char szSection[] = "Cleanup Previous Product INIApps";
ULONG ulAppsLength;
char szIni[MAX_BUF];
BOOL bFound;
ULONG ulAppsLength, ulIndex;
CHAR* szApps;
HINI hini = HINI_USERPROFILE;
strcpy(szPath, sgProduct.szPath);
if(*sgProduct.szSubPath != '\0')
@ -149,32 +156,39 @@ void CleanupPreviousVersionINIKeys(void)
}
AppendBackSlash(szPath, sizeof(szPath));
sprintf(szBufTiny, "Product INI App%d", ulIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szApp, sizeof(szApp), szFileIniConfig);
while(*szApp != '\0')
bFound = FALSE;
ulIndex = -1;
while(!bFound)
{
sprintf(szBufTiny, "Product Name%d", ulIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szCleanupProduct, sizeof(szCleanupProduct), szFileIniConfig);
// something is wrong, they didn't give a product name.
if(*szCleanupProduct == '\0')
return;
++ulIndex;
itoa(ulIndex, szIndex, 10);
strcpy(szSection, szMainSectionName);
strcat(szSection, szIndex);
sprintf(szBufTiny, "Current Version%d", ulIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szCurrentVersion, sizeof(szCurrentVersion), szFileIniConfig);
GetPrivateProfileString(szSection, "Product Name", "", szValue, sizeof(szValue), szFileIniConfig);
if(*szValue != '\0') {
GetPrivateProfileString(szSection, "Product Name", "", szCleanupProduct, sizeof(szCleanupProduct), szFileIniConfig);
GetPrivateProfileString(szSection, "Current Version", "", szCurrentVersion, sizeof(szCurrentVersion), szFileIniConfig);
GetPrivateProfileString(szSection, "Key", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt Key", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
memset(szKey, 0, sizeof(szKey));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szDirKey, szBuf);
else
strcpy(szDirKey, szBuf);
sprintf(szUserAgent, "%s %s", szCleanupProduct, szCurrentVersion);
if (*szCurrentVersion != '\0') {
sprintf(szUserAgent, "%s %s", szApp, szCurrentVersion);
PrfQueryProfileSize(HINI_USERPROFILE, NULL, NULL, &ulAppsLength);
szApps = (char*)malloc(ulAppsLength+1);
PrfQueryProfileString(HINI_USERPROFILE, NULL, NULL, NULL, szApps, ulAppsLength);
szApps[ulAppsLength] = '\0';
while (*szApps) {
if (strncmp(szApps, szApp, strlen(szApp)) == 0) {
if (strncmp(szApps, szCleanupProduct, strlen(szCleanupProduct)) == 0) {
if (strncmp(szApps, szUserAgent, strlen(szUserAgent)) != 0) {
char szKey[MAX_BUF];
PrfQueryProfileString(HINI_USERPROFILE, szApps, szName, "", szKey, MAX_BUF);
PrfQueryProfileString(HINI_USERPROFILE, szApps, szDirKey, "", szKey, MAX_BUF);
if (szKey[0]) {
AppendBackSlash(szKey, sizeof(szKey));
if (stricmp(szKey, szPath) == 0) {
@ -186,12 +200,52 @@ void CleanupPreviousVersionINIKeys(void)
szApps = strchr(szApps, '\0')+1;
}
} else {
/* We've been asked to remove an entire app */
char szINI[MAX_BUF];
GetPrivateProfileString(szSection, "App", "", szValue, sizeof(szValue), szFileIniConfig);
if(*szValue != '\0') {
GetPrivateProfileString(szSection, "App", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt App", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
memset(szApp, 0, sizeof(szApp));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szApp, szBuf);
else
strcpy(szApp, szBuf);
GetPrivateProfileString(szSection, "Key", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt Key", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
memset(szDirKey, 0, sizeof(szKey));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szDirKey, szBuf);
else
strcpy(szDirKey, szBuf);
GetPrivateProfileString(szSection, "INI", "", szIni, sizeof(szIni), szFileIniConfig);
if (szIni[0]) {
BOOL bDecryptINI;
GetPrivateProfileString(szSection, "Decrypt INI", "", szBuf, sizeof(szBuf), szFileIniConfig);
if(strcmpi(szBuf, "FALSE")) {
DecryptString(szBuf, szIni);
strcpy(szIni, szBuf);
}
hini = PrfOpenProfile((HAB)0, szIni);
}
PrfQueryProfileString(hini, szApp, szDirKey, "", szKey, MAX_BUF);
if (szKey[0]) {
AppendBackSlash(szKey, sizeof(szKey));
if (strcmpi(szKey, szPath) == 0) {
PrfWriteProfileString(hini, szApp, NULL, NULL);
}
}
if (szIni[0]) {
PrfCloseProfile(hini);
}
}
else
{
break;
}
}
sprintf(szBufTiny, "Product INI App%d", ++ulIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szApp, sizeof(szApp), szFileIniConfig);
}
}
}
void ProcessFileOps(DWORD dwTiming, char *szSectionPrefix)
@ -1397,6 +1451,7 @@ HRESULT ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix)
char szAssocFilters[MAX_BUF];
char szAssocTypes[MAX_BUF];
ULONG ulFlags = CO_REPLACEIFEXISTS;
dwIndex0 = 0;
BuildNumberedString(dwIndex0, szSectionPrefix, "Program Folder", szSection0, sizeof(szSection0));
@ -1489,7 +1544,16 @@ HRESULT ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix)
strcpy(szClassName, "WPProgram");
}
WinCreateObject(szClassName, szTitle, szSetupString, szLocation, CO_UPDATEIFEXISTS);
GetPrivateProfileString(szSection1, "Attributes", "", szBuf, sizeof(szBuf), szFileIniConfig);
if (szBuf[0]) {
if (strcmp(szBuf, "UPDATE") == 0) {
ulFlags = CO_UPDATEIFEXISTS;
} else if (strcmp(szBuf, "FAIL") == 0) {
ulFlags = CO_FAILIFEXISTS;
}
}
WinCreateObject(szClassName, szTitle, szSetupString, szLocation, ulFlags);
if (szObjectID[0]) {
strcpy(szBuf, szObjectID);

Просмотреть файл

@ -8,113 +8,111 @@
DLGTEMPLATE DLG_WELCOME DISCARDABLE
BEGIN
DIALOG "", DLG_WELCOME, 0, 0, 470, 336,
DIALOG "", DLG_WELCOME, 0, 0, 600, 336,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
LTEXT "", IDC_STATIC0, 145, 278, 315, 48, DT_WORDBREAK
LTEXT "", IDC_STATIC1, 145, 220, 315, 48, DT_WORDBREAK
LTEXT "", IDC_STATIC2, 145, 162, 315, 48, DT_WORDBREAK
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
LTEXT "", IDC_STATIC0, 145, 66, 445, 260, DT_WORDBREAK | DT_TOP
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
DLGTEMPLATE DLG_LICENSE DISCARDABLE
BEGIN
DIALOG "", DLG_LICENSE, 0, 0, 470, 336,
DIALOG "", DLG_LICENSE, 0, 0, 600, 336,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
LTEXT "", IDC_MESSAGE0, 10, 294, 450, 32, DT_WORDBREAK
MLE "", IDC_EDIT_LICENSE, 10, 104, 450, 180, WS_GROUP | MLS_READONLY | MLS_VSCROLL
LTEXT "", IDC_MESSAGE1, 10, 62, 450, 32, DT_WORDBREAK
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
LTEXT "", IDC_MESSAGE0, 10, 294, 580, 32, DT_WORDBREAK
MLE "", IDC_EDIT_LICENSE, 10, 104, 580, 180, WS_GROUP | MLS_READONLY | MLS_VSCROLL | MLS_WORDWRAP
LTEXT "", IDC_MESSAGE1, 10, 62, 580, 32, DT_WORDBREAK
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 270, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
DLGTEMPLATE DLG_SETUP_TYPE DISCARDABLE
BEGIN
DIALOG "", DLG_SETUP_TYPE, 0, 0, 470, 336
DIALOG "", DLG_SETUP_TYPE, 0, 0, 600, 336
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
LTEXT "", IDC_STATIC_MSG0, 145, 294, 315, 32, SS_TEXT | DT_WORDBREAK
AUTORADIOBUTTON "", IDC_RADIO_ST0, 145, 252, 120, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST1, 145, 210, 82, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST2, 145, 168, 82, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST3, 145, 120, 82, 12, WS_VISIBLE
LTEXT "", IDC_STATIC_ST0_DESCRIPTION, 275, 252, 185, 32, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST1_DESCRIPTION, 275, 210, 185, 32, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST2_DESCRIPTION, 275, 152, 185, 48, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST3_DESCRIPTION, 275,66, 205, 48, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
GROUPBOX "", IDC_DESTINATION, 145, 62, 315, 60, DT_MNEMONIC
LTEXT "", IDC_EDIT_DESTINATION, 155, 72, 200, 30, DT_VCENTER
PUSHBUTTON "", IDC_BUTTON_BROWSE, 370, 72, 80, 30
LTEXT "", IDC_STATIC_MSG0, 145, 294, 445, 32, SS_TEXT | DT_WORDBREAK
AUTORADIOBUTTON "", IDC_RADIO_ST0, 145, 260, 150, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST1, 145, 218, 150, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST2, 145, 176, 150, 32, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST3, 145, 120, 150, 32, WS_VISIBLE
LTEXT "", IDC_STATIC_ST0_DESCRIPTION, 305, 252, 285, 32, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST1_DESCRIPTION, 305, 210, 285, 32, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST2_DESCRIPTION, 305, 168, 285, 32, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
LTEXT "", IDC_STATIC_ST3_DESCRIPTION, 305, 66, 285, 48, SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
GROUPBOX "", IDC_DESTINATION, 145, 62, 445, 60, DT_MNEMONIC
LTEXT "", IDC_EDIT_DESTINATION, 155, 72, 300, 30, DT_VCENTER
PUSHBUTTON "", IDC_BUTTON_BROWSE, 480, 72, 100, 30
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDC_README, 10, 10, 80, 30
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDC_README, 10, 10, 100, 30
PUSHBUTTON "", IDWIZBACK, 270, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
DLGTEMPLATE DLG_SELECT_COMPONENTS DISCARDABLE
BEGIN
DIALOG "", DLG_SELECT_COMPONENTS, 0, 0, 470, 336
DIALOG "", DLG_SELECT_COMPONENTS, 0, 0, 600, 336
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
CONTROL 108, IDC_STATIC, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
LTEXT "", IDC_MESSAGE0, 145, 294, 315, 32, DT_WORDBREAK
LTEXT "", IDC_STATIC1, 145, 268, 315, 16, DT_MNEMONIC | WS_GROUP
LISTBOX IDC_LIST_COMPONENTS, 145, 180, 315, 80, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
GROUPBOX "", IDC_STATIC2, 145, 120, 315, 50
LTEXT "", IDC_MESSAGE0, 145, 294, 445, 32, DT_WORDBREAK
LTEXT "", IDC_STATIC1, 145, 268, 445, 16, DT_MNEMONIC | WS_GROUP
LISTBOX IDC_LIST_COMPONENTS, 145, 180, 445, 80, LS_OWNERDRAW | LS_NOADJUSTPOS | WS_GROUP | WS_TABSTOP
GROUPBOX "", IDC_STATIC2, 145, 120, 445, 50
LTEXT "", IDC_STATIC_DESCRIPTION, 155, 124, 295, 32, DT_VCENTER
GROUPBOX "", IDC_STATIC, 145, 62, 315, 56
LTEXT "", IDC_STATIC3, 155, 88, 118, 16
LTEXT "", IDC_STATIC4, 300, 88, 118, 16
GROUPBOX "", IDC_STATIC, 145, 62, 445, 56
LTEXT "", IDC_STATIC3, 155, 88, 250, 16
LTEXT "", IDC_STATIC4, 430, 88, 118, 16
LTEXT "", IDC_DOWNLOAD_SIZE, 155, 66, 118, 16
LTEXT "", IDC_SPACE_AVAILABLE, 300, 66, 118, 16
LTEXT "", IDC_SPACE_AVAILABLE, 430, 66, 118, 16
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 270, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
DLGTEMPLATE DLG_OS2_INTEGRATION DISCARDABLE
BEGIN
DIALOG "", DLG_OS2_INTEGRATION, 0, 0, 470, 336
DIALOG "", DLG_OS2_INTEGRATION, 0, 0, 600, 336
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
// LTEXT "", IDC_MESSAGE1, 127, 34, 257, 54, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
// LTEXT "", IDC_MESSAGE0, 127, 177, 255, 17, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
AUTOCHECKBOX "", IDC_CHECK0, 145, 294, 315, 32, WS_TABSTOP
AUTOCHECKBOX "", IDC_CHECK1, 145, 252, 315, 32, WS_TABSTOP
AUTOCHECKBOX "", IDC_CHECK0, 145, 294, 445, 32, WS_TABSTOP
AUTOCHECKBOX "", IDC_CHECK1, 145, 252, 445, 32, WS_TABSTOP
#ifdef OLDCODE
AUTOCHECKBOX "", IDC_CHECK2, 145, 210, 315, 32, WS_TABSTOP
GROUPBOX "", IDC_DESTINATION, 145, 62, 315, 60, DT_MNEMONIC
AUTOCHECKBOX "", IDC_CHECK2, 145, 210, 445, 32, WS_TABSTOP
GROUPBOX "", IDC_DESTINATION, 145, 62, 445, 60, DT_MNEMONIC
LTEXT "", IDC_EDIT_DESTINATION, 155, 72, 200, 30, DT_VCENTER
PUSHBUTTON "", IDC_BUTTON_BROWSE, 370, 72, 80, 30
#endif
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 270, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
@ -142,7 +140,7 @@ END
DLGTEMPLATE DLG_ADDITIONAL_OPTIONS DISCARDABLE
BEGIN
DIALOG "", DLG_ADDITIONAL_OPTIONS, 0, 0, 470, 336,
DIALOG "", DLG_ADDITIONAL_OPTIONS, 0, 0, 600, 336,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
@ -150,22 +148,22 @@ BEGIN
LTEXT "", IDC_MESSAGE0, 125, 96, 255, 33, NOT WS_GROUP | SS_TEXT | DT_WORDBREAK | DT_MNEMONIC
CHECKBOX "", IDC_CHECK_RECAPTURE_HOMEPAGE,125,141,253, 8, WS_TABSTOP
#endif
LTEXT "", IDC_MESSAGE1, 145, 246, 315, 80, SS_TEXT | DT_WORDBREAK
AUTOCHECKBOX "", IDC_CHECK_SAVE_INSTALLER_FILES, 145, 220, 315, 18, WS_GROUP
ENTRYFIELD "", IDC_EDIT_LOCAL_INSTALLER_PATH, 145, 188, 315, 22, WS_GROUP | NOT WS_TABSTOP | ES_AUTOSCROLL | ES_MARGIN | ES_READONLY
LTEXT "", IDC_MESSAGE1, 145, 246, 445, 80, SS_TEXT | DT_WORDBREAK
AUTOCHECKBOX "", IDC_CHECK_SAVE_INSTALLER_FILES, 145, 220, 445, 18, WS_GROUP
ENTRYFIELD "", IDC_EDIT_LOCAL_INSTALLER_PATH, 145, 188, 445, 22, WS_GROUP | NOT WS_TABSTOP | ES_AUTOSCROLL | ES_MARGIN | ES_READONLY
PUSHBUTTON "", IDC_BUTTON_PROXY_SETTINGS, 340, 62, 120, 30, WS_GROUP
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 270, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
DLGTEMPLATE DLG_ADVANCED_SETTINGS DISCARDABLE
BEGIN
DIALOG "", DLG_ADVANCED_SETTINGS, 0, 0, 470, 336,
DIALOG "", DLG_ADVANCED_SETTINGS, 0, 0, 600, 336,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
@ -184,9 +182,9 @@ BEGIN
CONTROL 108, IDC_MOZILLA, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30, WS_GROUP
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 270, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
DEFPUSHBUTTON "", IDWIZNEXT, 380, 10, 100, 30, WS_GROUP
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END
@ -272,18 +270,18 @@ END
DLGTEMPLATE DLG_START_INSTALL DISCARDABLE
BEGIN
DIALOG "", DLG_START_INSTALL, 0, 0, 470, 336,
DIALOG "", DLG_START_INSTALL, 0, 0, 600, 336,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
LTEXT "", IDC_MESSAGE0, 145, 230, 315, 96, SS_TEXT | DT_WORDBREAK
MLE "", IDC_CURRENT_SETTINGS, 145, 62, 315, 158, MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL | MLS_HSCROLL
LTEXT "", IDC_MESSAGE0, 145, 230, 445, 96, SS_TEXT | DT_WORDBREAK
MLE "", IDC_CURRENT_SETTINGS, 145, 62, 445, 158, MLS_WORDWRAP | MLS_READONLY | MLS_VSCROLL | MLS_HSCROLL
CONTROL 108, IDC_STATIC, 12, 64, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC3, 10, 62, 125, 264, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL "", IDC_STATIC, 10, 50, 450, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 200, 10, 80, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 290, 10, 80, 30
PUSHBUTTON "", DID_CANCEL, 380, 10, 80, 30
CONTROL "", IDC_STATIC, 10, 50, 580, 2, WC_STATIC, SS_FGNDRECT | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 250, 10, 100, 30, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 360, 10, 120, 30
PUSHBUTTON "", DID_CANCEL, 490, 10, 100, 30
END
END