Continuing OS/2 wizard work
This commit is contained in:
mkaply%us.ibm.com 2002-08-24 00:45:32 +00:00
Родитель d2296480fd
Коммит 6f39490c82
18 изменённых файлов: 678 добавлений и 2123 удалений

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

@ -84,13 +84,6 @@ url=$ArchiveUrl$
; Setup Type 3 - fourth radio button (usually the Custom option)
Default Setup Type=Setup Type 1
; Forces the icons on the system to be refreshed.
; Default value is FALSE.
; Possible values:
; FALSE
; TRUE
Refresh Icons=FALSE
; This section contains info on how to send error information in case of
; either a download or xpinstall error.
; By default, this feature is enabled, unless disabled.
@ -116,17 +109,16 @@ Confirmation Message=There was an error encountered during installation of $Prod
; HKey: valid decryptable setup key is [Product CurrentVersion] or [Product PreviousVersion]
; Decrypt HKey: there are times when '[' and ']' are valid part of windows registry key names.
; HApp: valid decryptable setup key is [Product CurrentVersion] or [Product PreviousVersion]
; Decrypt HApp: there are times when '[' and ']' are valid part of windows registry key names.
; Contains Filename: tells setup that the path contains filename needed to be removed before
; using it as a path.
; Verify Existence: FILE or PATH
;
[Locate Previous Product Path0]
HRoot=HKEY_LOCAL_MACHINE
HKey=[Product CurrentVersion]\Main
HApp=[Product CurrentVersion]
Name=Install Directory
Decrypt HKey=TRUE
Decrypt HApp=TRUE
Contains Filename=FALSE
Verify Existence=
@ -497,10 +489,6 @@ $InstallSizeArchive$:xpcom.xpi
; if a file exists.
; Use SupersedeType=File Exists to specify the type of comparison
; Use SupersedeFileX=File Name to specify the file
; Use SupersedeMinVersionX=a.b.c.d (optional) to specify the
; minimum version of the file. If the version of the existing file
; is greater than or equal to the SupersedeMinVersion the component
; will be superseded.
;
Attributes=SELECTED|INVISIBLE|FORCE_UPGRADE
Force Upgrade File0=[SETUP PATH]\xpcom.dll
@ -744,214 +732,28 @@ WorkingDir=[SETUP PATH]
Criterion ID=RecaptureHP
Run App If Criterion=TRUE
[Windows Registry0]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$
Name=
Name Value=
Type=REG_SZ
[OS2 INI0]
App=$ProductName$ $UserAgent$
Key=Program Folder Path
Key Value=[Default Folder]
Decrypt App=FALSE
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Decrypt Key Value=TRUE
Timing=pre smartupdate
[Windows Registry1]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$
Name=
Name Value=
Type=REG_SZ
[OS2 INI1]
App=$ProductName$ $UserAgent$
Key=Program Folder Path
Key Value=[Default Folder]
Decrypt App=FALSE
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry2]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$\$UserAgent$
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry3]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$\$UserAgent$\Main
Name=Program Folder Path
Name Value=[Default Folder]
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry4]
Root Key=HKEY_CURRENT_USER
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry5]
Root Key=HKEY_CURRENT_USER
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry6]
Root Key=HKEY_CURRENT_USER
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$\$UserAgent$
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry7]
Root Key=HKEY_CURRENT_USER
;*** LOCALIZE ME BABY ***
Key=Software\$CompanyName$\$ProductName$\$UserAgent$\Main
Name=Program Folder Path
Name Value=[Default Folder]
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry8]
Root Key=HKEY_LOCAL_MACHINE
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\$ProductName$ ($UserAgentShort$)
Name=DisplayName
Name Value=$ProductName$ ($UserAgentShort$)
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=FALSE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=post smartupdate
[Windows Registry9]
Root Key=HKEY_LOCAL_MACHINE
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\$ProductName$ ($UserAgentShort$)
Name=UninstallString
;*** LOCALIZE ME BABY ***
Name Value=[WINDIR]\$UninstallFile$ /ua "$UserAgent$"
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=post smartupdate
; The following keys are to help JRE's installer locate where mozilla gets
; installed to. It has not been updated to look for the new keys.
[Windows Registry10]
Root Key=HKEY_LOCAL_MACHINE
Key=Software\Mozilla
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry11]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\Mozilla\Seamonkey
Name=CurrentVersion
Name Value=$UserAgent$
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry12]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\Mozilla\Seamonkey\$UserAgent$
Name=
Name Value=
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Timing=pre smartupdate
[Windows Registry13]
Root Key=HKEY_LOCAL_MACHINE
;*** LOCALIZE ME BABY ***
Key=Software\Mozilla\Seamonkey\$UserAgent$\Main
Name=Program Folder Path
Name Value=[Default Folder]
Type=REG_SZ
Decrypt Key=FALSE
Decrypt Name=FALSE
Decrypt Name Value=TRUE
Overwrite Key=TRUE
Overwrite Name=TRUE
Decrypt Key Value=TRUE
Timing=pre smartupdate
[Cleanup Previous Product RegKeys]
Reg Key Root0=HKEY_LOCAL_MACHINE
Product Name0=Mozilla
Product Reg Key0=Software\Mozilla.org\Mozilla
Current Version0=$UserAgent$
;
Reg Key Root1=HKEY_CURRENT_USER
Product Name1=Mozilla
Product Reg Key1=Software\Mozilla.org\Mozilla
Current Version1=$UserAgent$
; Values for Show Folder:
; HIDE Hides the window and activates another window.
@ -991,14 +793,6 @@ Description=Uninstall $ProductName$
Icon Path=[SETUP PATH]\Uninstall\$UninstallFile$
Icon Id=0
; Default value:
; IGNORE
;
; Possible values:
; ONLY_RESTRICTED - create shortcut only if user access is restricted
; ONLY_NONRESTRICTED - create shortcut only if user access is not restricted
Restricted Access=ONLY_RESTRICTED
;[Program Folder0-Shortcut1]
;File=[SETUP PATH]\$MainExeFile$
;Arguments=-ProfileManager
@ -1085,11 +879,6 @@ IDC Recapture Homepage=&Make Netscape.com my home page
IDC Turbo Mode=&Use Quick Launch for faster startup times when possible
;*** LOCALIZE ME BABY ***
Message Download Paused=Setup has encountered a network problem and has paused the download. If you have just lost your network connection, please click Resume once your network has been reestablished.
;*** LOCALIZE ME BABY ***
Message NORMAL Restricted Access=Setup has detected that you do not have the appropriate Administrator privileges to this system. It is highly recommended that you do not continue with the installation of $ProductName$, or it may not function properly. Would you still like to continue?
;*** LOCALIZE ME BABY ***
Message AUTO Restricted Access=Setup has detected that you do not have the appropriate Administrator privileges to this system. Setup cannot continue with the installation of $ProductName$.
[Site Selector]
; Dictates whether or not to show the pull down menu.

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

@ -53,7 +53,8 @@ CSRCS = \
CPPSRCS = \
nsEscape.cpp \
nsINIParser.cpp \
pplib.cpp \
xpnetHook.cpp \
$(NULL)
# xpnetHook.cpp \

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -33,10 +33,6 @@ extern HINSTANCE hSetupRscInst;
extern HINSTANCE hSDInst;
extern HINSTANCE hXPIStubInst;
extern HBITMAP hbmpBoxChecked;
extern HBITMAP hbmpBoxCheckedDisabled;
extern HBITMAP hbmpBoxUnChecked;
extern HWND hDlgCurrent;
extern HWND hDlgMessage;
extern HWND hWndMain;
@ -70,7 +66,6 @@ extern BOOL gbILUseTemp;
extern BOOL gbPreviousUnfinishedDownload;
extern BOOL gbIgnoreRunAppX;
extern BOOL gbIgnoreProgramFolderX;
extern BOOL gbRestrictedAccess;
extern BOOL gbDownloadTriggered;
extern setupGen sgProduct;

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -136,7 +136,7 @@ void GetAlternateArchiveSearchPath(LPSTR lpszCmdLine);
BOOL NeedReboot(void);
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 LocatePathOS2INI(PSZ szSection, PSZ szPath, ULONG ulPathSize);
BOOL LocatePath(LPSTR szSection, LPSTR szPath, DWORD dwPathSize);
int VR_GetPath(char *component_path, unsigned long sizebuf, char *buf);
dsN *CreateDSNode();
@ -208,7 +208,8 @@ BOOL DeleteWGetLog(void);
DWORD ParseOSType(char *szOSType);
BOOL ShowAdditionalOptionsDialog(void);
DWORD GetPreviousUnfinishedState(void);
void RefreshIcons();
HWND FindWindow(PCSZ pszClassName, PCSZ pszWindowName);
#endif /* _EXTRA_H_ */

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

@ -110,12 +110,11 @@ char *BuildNumberedString(DWORD dwIndex, char *szInputStringPrefix, char *szInpu
return(szOutBuf);
}
#ifdef OLDCODE
void GetUserAgentShort(char *szUserAgent, char *szOutUAShort, DWORD dwOutUAShortSize)
{
char *ptrFirstSpace = NULL;
ZeroMemory(szOutUAShort, dwOutUAShortSize);
memset(szOutUAShort, 0, dwOutUAShortSize);
if((szUserAgent == NULL) || (*szUserAgent == '\0'))
return;
@ -128,22 +127,25 @@ void GetUserAgentShort(char *szUserAgent, char *szOutUAShort, DWORD dwOutUAShort
}
}
DWORD GetWinRegSubKeyProductPath(HKEY hkRootKey, char *szInKey, char *szReturnSubKey, DWORD dwReturnSubKeySize, char *szInSubSubKey, char *szInName, char *szCompare, char *szInCurrentVersion)
/* EXPLANATION
Enumerate through a given subkey and check to see if any keys have the exact same install directory
If they do, delete them. Very straightforward */
DWORD GetWinRegSubKeyProductPath(char *szInKey, char *szReturnSubKey, DWORD dwReturnSubKeySize, char *szInSubSubKey, char *szInName, char *szCompare, char *szInCurrentVersion)
{
char *szRv = NULL;
char szKey[MAX_BUF];
char szBuf[MAX_BUF];
HKEY hkHandle;
// HKEY hkHandle;
DWORD dwIndex;
DWORD dwBufSize;
DWORD dwTotalSubKeys;
DWORD dwTotalValues;
FILETIME ftLastWriteFileTime;
// FILETIME ftLastWriteFileTime;
BOOL bFoundSubKey;
bFoundSubKey = FALSE;
if(RegOpenKeyEx(hkRootKey, szInKey, 0, KEY_READ, &hkHandle) != ERROR_SUCCESS)
// if(RegOpenKeyEx(hkRootKey, szInKey, 0, KEY_READ, &hkHandle) != ERROR_SUCCESS)
{
*szReturnSubKey = '\0';
return(0);
@ -151,11 +153,11 @@ DWORD GetWinRegSubKeyProductPath(HKEY hkRootKey, char *szInKey, char *szReturnSu
dwTotalSubKeys = 0;
dwTotalValues = 0;
RegQueryInfoKey(hkHandle, NULL, NULL, NULL, &dwTotalSubKeys, NULL, NULL, &dwTotalValues, NULL, NULL, NULL, NULL);
// RegQueryInfoKey(hkHandle, NULL, NULL, NULL, &dwTotalSubKeys, NULL, NULL, &dwTotalValues, NULL, NULL, NULL, NULL);
for(dwIndex = 0; dwIndex < dwTotalSubKeys; dwIndex++)
{
dwBufSize = dwReturnSubKeySize;
if(RegEnumKeyEx(hkHandle, dwIndex, szReturnSubKey, &dwBufSize, NULL, NULL, NULL, &ftLastWriteFileTime) == ERROR_SUCCESS)
// if(RegEnumKeyEx(hkHandle, dwIndex, szReturnSubKey, &dwBufSize, NULL, NULL, NULL, &ftLastWriteFileTime) == ERROR_SUCCESS)
{
if( (*szInCurrentVersion != '\0') && (strcmpi(szInCurrentVersion, szReturnSubKey) != 0) )
{
@ -173,7 +175,7 @@ DWORD GetWinRegSubKeyProductPath(HKEY hkRootKey, char *szInKey, char *szReturnSu
else
sprintf(szKey, "%s\\%s", szInKey, szReturnSubKey);
GetWinReg(hkRootKey, szKey, szInName, szBuf, sizeof(szBuf));
// GetWinReg(hkRootKey, szKey, szInName, szBuf, sizeof(szBuf));
AppendBackSlash(szBuf, sizeof(szBuf));
if(strcmpi(szBuf, szCompare) == 0)
{
@ -185,7 +187,7 @@ DWORD GetWinRegSubKeyProductPath(HKEY hkRootKey, char *szInKey, char *szReturnSu
}
}
RegCloseKey(hkHandle);
// RegCloseKey(hkHandle);
if(!bFoundSubKey)
*szReturnSubKey = '\0';
return(dwTotalSubKeys);
@ -193,6 +195,12 @@ DWORD GetWinRegSubKeyProductPath(HKEY hkRootKey, char *szInKey, char *szReturnSu
void CleanupPreviousVersionRegKeys(void)
{
/* OK, OS/2 things to do here */
/* Look at all keys in OS2.INI beginning with Mozilla (Product Reg Key)*/
/* If they contain an Install Directory that is the same as what we just installed, remove the app */
DWORD dwIndex = 0;
DWORD dwSubKeyCount;
char szBufTiny[MAX_BUF_TINY];
@ -203,7 +211,7 @@ void CleanupPreviousVersionRegKeys(void)
char szPath[MAX_BUF];
char szKey[MAX_BUF];
char szCleanupProduct[MAX_BUF];
HKEY hkeyRoot;
// HKEY hkeyRoot;
char szSubSubKey[] = "Main";
char szName[] = "Install Directory";
char szWRMSUninstall[] = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
@ -224,7 +232,7 @@ void CleanupPreviousVersionRegKeys(void)
{
sprintf(szBufTiny, "Reg Key Root%d",dwIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szKeyRoot, sizeof(szKeyRoot), szFileIniConfig);
hkeyRoot = ParseRootKey(szKeyRoot);
// hkeyRoot = ParseRootKey(szKeyRoot);
sprintf(szBufTiny, "Product Name%d", dwIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szCleanupProduct, sizeof(szCleanupProduct), szFileIniConfig);
@ -238,7 +246,7 @@ void CleanupPreviousVersionRegKeys(void)
do
{
// if the current version is not found, we'll get null in szCurrentVersion and GetWinRegSubKeyProductPath() will do the right thing
dwSubKeyCount = GetWinRegSubKeyProductPath(hkeyRoot, szKey, szRvSubKey, sizeof(szRvSubKey), szSubSubKey, szName, szPath, szCurrentVersion);
// dwSubKeyCount = GetWinRegSubKeyProductPath(hkeyRoot, szKey, szRvSubKey, sizeof(szRvSubKey), szSubSubKey, szName, szPath, szCurrentVersion);
if(*szRvSubKey != '\0')
{
@ -247,7 +255,7 @@ void CleanupPreviousVersionRegKeys(void)
AppendBackSlash(szKey, sizeof(szKey));
strcat(szKey, szRvSubKey);
}
DeleteWinRegKey(hkeyRoot, szKey, TRUE);
// DeleteWinRegKey(hkeyRoot, szKey, TRUE);
GetUserAgentShort(szRvSubKey, szUAShort, sizeof(szUAShort));
if(*szUAShort != '\0')
@ -257,14 +265,14 @@ void CleanupPreviousVersionRegKeys(void)
* Mozilla (0.8)
*/
sprintf(szKey, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\%s (%s)", szCleanupProduct, szUAShort);
DeleteWinRegKey(hkeyRoot, szKey, TRUE);
// DeleteWinRegKey(hkeyRoot, szKey, TRUE);
/* delete uninstall key that contains product name and its user agent not in parenthesis,
* for example:
* Mozilla 0.8
*/
sprintf(szKey, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\%s %s", szCleanupProduct, szUAShort);
DeleteWinRegKey(hkeyRoot, szKey, TRUE);
// DeleteWinRegKey(hkeyRoot, szKey, TRUE);
/* We are not looking to delete just the product name key, for example:
* Mozilla
@ -285,7 +293,6 @@ void CleanupPreviousVersionRegKeys(void)
}
}
#endif
void ProcessFileOps(DWORD dwTiming, char *szSectionPrefix)
{
@ -298,7 +305,7 @@ void ProcessFileOps(DWORD dwTiming, char *szSectionPrefix)
ProcessRemoveDirectory(dwTiming, szSectionPrefix);
if(!gbIgnoreRunAppX)
ProcessRunApp(dwTiming, szSectionPrefix);
ProcessWinReg(dwTiming, szSectionPrefix);
ProcessOS2INI(dwTiming, szSectionPrefix);
ProcessProgramFolder(dwTiming, szSectionPrefix);
ProcessSetVersionRegistry(dwTiming, szSectionPrefix);
}
@ -504,19 +511,14 @@ HRESULT CleanupXpcomFile()
return(FO_SUCCESS);
}
#ifdef OLDCODE
#define SETUP_STATE_REG_KEY "Software\\%s\\%s\\%s\\Setup"
HRESULT CleanupArgsRegistry()
{
char szKey[MAX_BUF];
char szApp[MAX_BUF];
sprintf(szKey, SETUP_STATE_REG_KEY, sgProduct.szCompanyName, sgProduct.szProductNameInternal,
sgProduct.szUserAgent);
DeleteWinRegValue(HKEY_CURRENT_USER, szKey, "browserargs");
sprintf(szApp, "%s %s", sgProduct.szProductNameInternal, sgProduct.szUserAgent);
PrfWriteProfileString(HINI_USERPROFILE, szApp, "browserargs", "");
return(FO_SUCCESS);
}
#endif
HRESULT ProcessUncompressFile(DWORD dwTiming, char *szSectionPrefix)
{
@ -646,7 +648,11 @@ HRESULT FileMove(LPSTR szFrom, LPSTR szTo)
}
ulFindCount = 1;
bFound = DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount);
if (DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount) == NO_ERROR) {
bFound = TRUE;
} else {
bFound = FALSE;
}
}
DosFindClose(hFile);
@ -746,7 +752,11 @@ HRESULT FileCopy(LPSTR szFrom, LPSTR szTo, BOOL bFailIfExists, BOOL bDnu)
}
ulFindCount = 1;
bFound = DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount);
if (DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount) == NO_ERROR) {
bFound = TRUE;
} else {
bFound = FALSE;
}
}
DosFindClose(hFile);
@ -826,7 +836,11 @@ HRESULT FileCopySequential(LPSTR szSourcePath, LPSTR szDestPath, LPSTR szFilenam
}
ulFindCount = 1;
bFound = DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount);
if (DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount) == NO_ERROR) {
bFound = TRUE;
} else {
bFound = FALSE;
}
}
DosFindClose(hFile);
@ -1136,7 +1150,11 @@ HRESULT FileDelete(LPSTR szDestination)
}
ulFindCount = 1;
bFound = DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount);
if (DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount) == NO_ERROR) {
bFound = TRUE;
} else {
bFound = FALSE;
}
}
DosFindClose(hFile);
@ -1170,9 +1188,9 @@ HRESULT ProcessDeleteFile(DWORD dwTiming, char *szSectionPrefix)
HRESULT DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs)
{
#ifdef OLDCODE /* @MAK - need to write this */
HANDLE hFile;
WIN32_FIND_DATA fdFile;
HDIR hFile;
FILEFINDBUF3 fdFile;
ULONG ulFindCount;
char szDestTemp[MAX_BUF];
BOOL bFound;
@ -1185,9 +1203,12 @@ HRESULT DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs)
AppendBackSlash(szDestTemp, sizeof(szDestTemp));
strcat(szDestTemp, "*");
ulFindCount = 1;
if((DosFindFirst(szDestTemp, &hFile, 0, &fdFile, sizeof(fdFile), &ulFindCount, FIL_STANDARD)) != NO_ERROR)
bFound = FALSE;
else
bFound = TRUE;
hFile = FindFirstFile(szDestTemp, &fdFile);
while((hFile != INVALID_HANDLE_VALUE) && (bFound == TRUE))
while(bFound == TRUE)
{
if((strcmpi(fdFile.achName, ".") != 0) && (strcmpi(fdFile.achName, "..") != 0))
{
@ -1196,7 +1217,7 @@ HRESULT DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs)
AppendBackSlash(szDestTemp, sizeof(szDestTemp));
strcat(szDestTemp, fdFile.achName);
if(fdFile.dwFileAttributes & FILE_DIRECTORY)
if(fdFile.attrFile & FILE_DIRECTORY)
{
DirectoryRemove(szDestTemp, bRemoveSubdirs);
}
@ -1206,14 +1227,18 @@ HRESULT DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs)
}
}
bFound = FindNextFile(hFile, &fdFile);
ulFindCount = 1;
if (DosFindNext(hFile, &fdFile, sizeof(fdFile), &ulFindCount) == NO_ERROR) {
bFound = TRUE;
} else {
bFound = FALSE;
}
}
FindClose(hFile);
DosFindClose(hFile);
}
RemoveDirectory(szDestination);
#endif
DosDeleteDir(szDestination);
return(FO_SUCCESS);
}
@ -1340,146 +1365,16 @@ HRESULT ProcessRunApp(DWORD dwTiming, char *szSectionPrefix)
}
#ifdef OLDCODE
DWORD ParseRestrictedAccessKey(LPSTR szKey)
{
DWORD dwKey;
if(strcmpi(szKey, "ONLY_RESTRICTED") == 0)
dwKey = RA_ONLY_RESTRICTED;
else if(strcmpi(szKey, "ONLY_NONRESTRICTED") == 0)
dwKey = RA_ONLY_NONRESTRICTED;
else
dwKey = RA_IGNORE;
return(dwKey);
}
HKEY ParseRootKey(LPSTR szRootKey)
{
HKEY hkRootKey;
if(strcmpi(szRootKey, "HKEY_CURRENT_CONFIG") == 0)
hkRootKey = HKEY_CURRENT_CONFIG;
else if(strcmpi(szRootKey, "HKEY_CURRENT_USER") == 0)
hkRootKey = HKEY_CURRENT_USER;
else if(strcmpi(szRootKey, "HKEY_LOCAL_MACHINE") == 0)
hkRootKey = HKEY_LOCAL_MACHINE;
else if(strcmpi(szRootKey, "HKEY_USERS") == 0)
hkRootKey = HKEY_USERS;
else if(strcmpi(szRootKey, "HKEY_PERFORMANCE_DATA") == 0)
hkRootKey = HKEY_PERFORMANCE_DATA;
else if(strcmpi(szRootKey, "HKEY_DYN_DATA") == 0)
hkRootKey = HKEY_DYN_DATA;
else /* HKEY_CLASSES_ROOT */
hkRootKey = HKEY_CLASSES_ROOT;
return(hkRootKey);
}
char *ParseRootKeyString(HKEY hkKey, LPSTR szRootKey, DWORD dwRootKeyBufSize)
{
if(!szRootKey)
return(NULL);
ZeroMemory(szRootKey, dwRootKeyBufSize);
if((hkKey == HKEY_CURRENT_CONFIG) &&
((long)dwRootKeyBufSize > strlen("HKEY_CURRENT_CONFIG")))
strcpy(szRootKey, "HKEY_CURRENT_CONFIG");
else if((hkKey == HKEY_CURRENT_USER) &&
((long)dwRootKeyBufSize > strlen("HKEY_CURRENT_USER")))
strcpy(szRootKey, "HKEY_CURRENT_USER");
else if((hkKey == HKEY_LOCAL_MACHINE) &&
((long)dwRootKeyBufSize > strlen("HKEY_LOCAL_MACHINE")))
strcpy(szRootKey, "HKEY_LOCAL_MACHINE");
else if((hkKey == HKEY_USERS) &&
((long)dwRootKeyBufSize > strlen("HKEY_USERS")))
strcpy(szRootKey, "HKEY_USERS");
else if((hkKey == HKEY_PERFORMANCE_DATA) &&
((long)dwRootKeyBufSize > strlen("HKEY_PERFORMANCE_DATA")))
strcpy(szRootKey, "HKEY_PERFORMANCE_DATA");
else if((hkKey == HKEY_DYN_DATA) &&
((long)dwRootKeyBufSize > strlen("HKEY_DYN_DATA")))
strcpy(szRootKey, "HKEY_DYN_DATA");
else if((long)dwRootKeyBufSize > strlen("HKEY_CLASSES_ROOT"))
strcpy(szRootKey, "HKEY_CLASSES_ROOT");
return(szRootKey);
}
BOOL ParseRegType(LPSTR szType, DWORD *dwType)
{
BOOL bSZ;
if(strcmpi(szType, "REG_SZ") == 0)
{
/* Unicode NULL terminated string */
*dwType = REG_SZ;
bSZ = TRUE;
}
else if(strcmpi(szType, "REG_EXPAND_SZ") == 0)
{
/* Unicode NULL terminated string
* (with environment variable references) */
*dwType = REG_EXPAND_SZ;
bSZ = TRUE;
}
else if(strcmpi(szType, "REG_BINARY") == 0)
{
/* Free form binary */
*dwType = REG_BINARY;
bSZ = FALSE;
}
else if(strcmpi(szType, "REG_DWORD") == 0)
{
/* 32bit number */
*dwType = REG_DWORD;
bSZ = FALSE;
}
else if(strcmpi(szType, "REG_DWORD_LITTLE_ENDIAN") == 0)
{
/* 32bit number
* (same as REG_DWORD) */
*dwType = REG_DWORD_LITTLE_ENDIAN;
bSZ = FALSE;
}
else if(strcmpi(szType, "REG_DWORD_BIG_ENDIAN") == 0)
{
/* 32bit number */
*dwType = REG_DWORD_BIG_ENDIAN;
bSZ = FALSE;
}
else if(strcmpi(szType, "REG_LINK") == 0)
{
/* Symbolic link (unicode) */
*dwType = REG_LINK;
bSZ = TRUE;
}
else if(strcmpi(szType, "REG_MULTI_SZ") == 0)
{
/* Multiple Unicode strings */
*dwType = REG_MULTI_SZ;
bSZ = TRUE;
}
else /* Default is REG_NONE */
{
/* no value type */
*dwType = REG_NONE;
bSZ = TRUE;
}
return(bSZ);
}
BOOL WinRegKeyExists(HKEY hkRootKey, LPSTR szKey)
{
HKEY hkResult;
DWORD dwErr;
BOOL bKeyExists = FALSE;
if((dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult)) == ERROR_SUCCESS)
// if((dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult)) == ERROR_SUCCESS)
{
bKeyExists = TRUE;
RegCloseKey(hkResult);
// RegCloseKey(hkResult);
}
return(bKeyExists);
@ -1493,8 +1388,8 @@ BOOL WinRegNameExists(HKEY hkRootKey, LPSTR szKey, LPSTR szName)
char szBuf[MAX_BUF];
BOOL bNameExists = FALSE;
ZeroMemory(szBuf, sizeof(szBuf));
if((dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult)) == ERROR_SUCCESS)
memset(szBuf, 0, sizeof(szBuf));
// if((dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult)) == ERROR_SUCCESS)
{
dwSize = sizeof(szBuf);
dwErr = RegQueryValueEx(hkResult, szName, 0, NULL, szBuf, &dwSize);
@ -1502,7 +1397,7 @@ BOOL WinRegNameExists(HKEY hkRootKey, LPSTR szKey, LPSTR szName)
if((*szBuf != '\0') && (dwErr == ERROR_SUCCESS))
bNameExists = TRUE;
RegCloseKey(hkResult);
// RegCloseKey(hkResult);
}
return(bNameExists);
@ -1515,7 +1410,7 @@ void DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete)
DWORD dwTotalSubKeys;
DWORD dwTotalValues;
DWORD dwSubKeySize;
FILETIME ftLastWriteFileTime;
// FILETIME ftLastWriteFileTime;
char szSubKey[MAX_BUF_TINY];
char szNewKey[MAX_BUF];
long lRv;
@ -1525,8 +1420,8 @@ void DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete)
{
dwTotalSubKeys = 0;
dwTotalValues = 0;
RegQueryInfoKey(hkResult, NULL, NULL, NULL, &dwTotalSubKeys, NULL, NULL, &dwTotalValues, NULL, NULL, NULL, NULL);
RegCloseKey(hkResult);
// RegQueryInfoKey(hkResult, NULL, NULL, NULL, &dwTotalSubKeys, NULL, NULL, &dwTotalValues, NULL, NULL, NULL, NULL);
// RegCloseKey(hkResult);
if(((dwTotalSubKeys == 0) && (dwTotalValues == 0)) || bAbsoluteDelete)
{
@ -1536,18 +1431,18 @@ void DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete)
{
dwSubKeySize = sizeof(szSubKey);
lRv = 0;
if(RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult) == ERROR_SUCCESS)
// if(RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult) == ERROR_SUCCESS)
{
if((lRv = RegEnumKeyEx(hkResult, 0, szSubKey, &dwSubKeySize, NULL, NULL, NULL, &ftLastWriteFileTime)) == ERROR_SUCCESS)
// if((lRv = RegEnumKeyEx(hkResult, 0, szSubKey, &dwSubKeySize, NULL, NULL, NULL, &ftLastWriteFileTime)) == ERROR_SUCCESS)
{
RegCloseKey(hkResult);
// RegCloseKey(hkResult);
strcpy(szNewKey, szKey);
AppendBackSlash(szNewKey, sizeof(szNewKey));
strcat(szNewKey, szSubKey);
DeleteWinRegKey(hkRootKey, szNewKey, bAbsoluteDelete);
// DeleteWinRegKey(hkRootKey, szNewKey, bAbsoluteDelete);
}
else
RegCloseKey(hkResult);
// else
// RegCloseKey(hkResult);
}
} while(lRv != ERROR_NO_MORE_ITEMS);
}
@ -1557,23 +1452,6 @@ void DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete)
}
}
void DeleteWinRegValue(HKEY hkRootKey, LPSTR szKey, LPSTR szName)
{
HKEY hkResult;
DWORD dwErr;
dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_WRITE, &hkResult);
if(dwErr == ERROR_SUCCESS)
{
if(*szName == '\0')
dwErr = RegDeleteValue(hkResult, NULL);
else
dwErr = RegDeleteValue(hkResult, szName);
RegCloseKey(hkResult);
}
}
DWORD GetWinReg(HKEY hkRootKey, LPSTR szKey, LPSTR szName, LPSTR szReturnValue, DWORD dwReturnValueSize)
{
HKEY hkResult;
@ -1582,8 +1460,8 @@ DWORD GetWinReg(HKEY hkRootKey, LPSTR szKey, LPSTR szName, LPSTR szReturnValue,
DWORD dwType;
char szBuf[MAX_BUF];
ZeroMemory(szBuf, sizeof(szBuf));
ZeroMemory(szReturnValue, dwReturnValueSize);
memset(szBuf, 0, sizeof(szBuf));
memset(szReturnValue, 0, dwReturnValueSize);
if((dwErr = RegOpenKeyEx(hkRootKey, szKey, 0, KEY_READ, &hkResult)) == ERROR_SUCCESS)
{
@ -1602,7 +1480,7 @@ DWORD GetWinReg(HKEY hkRootKey, LPSTR szKey, LPSTR szName, LPSTR szReturnValue,
else
*szReturnValue = '\0';
RegCloseKey(hkResult);
// RegCloseKey(hkResult);
}
return(dwType);
@ -1780,67 +1658,44 @@ void AppendWinReg(HKEY hkRootKey,
}
#endif
HRESULT ProcessWinReg(DWORD dwTiming, char *szSectionPrefix)
HRESULT ProcessOS2INI(ULONG ulTiming, char *szSectionPrefix)
{
#ifdef OLDCODE /* @MAK need to write for OS/2 - Os/2 INI stuff */
char szBuf[MAX_BUF];
char szApp[MAX_BUF];
char szKey[MAX_BUF];
char szName[MAX_BUF];
char szValue[MAX_BUF];
char szDecrypt[MAX_BUF];
char szOverwriteKey[MAX_BUF];
char szOverwriteName[MAX_BUF];
char szSection[MAX_BUF];
HKEY hRootKey;
BOOL bDnu;
BOOL bOverwriteKey;
BOOL bOverwriteName;
BOOL bOSDetected;
DWORD dwIndex;
DWORD dwType;
DWORD dwSize;
__int64 iiNum;
ULONG ulIndex;
ULONG ulSize;
dwIndex = 0;
BuildNumberedString(dwIndex, szSectionPrefix, "Windows Registry", szSection, sizeof(szSection));
GetPrivateProfileString(szSection, "Root Key", "", szBuf, sizeof(szBuf), szFileIniConfig);
ulIndex = 0;
BuildNumberedString(ulIndex, szSectionPrefix, "OS2INI", szSection, sizeof(szSection));
GetPrivateProfileString(szSection, "App", "", szBuf, sizeof(szBuf), szFileIniConfig);
while(*szBuf != '\0')
{
if(TimingCheck(dwTiming, szSection, szFileIniConfig))
if(TimingCheck(ulTiming, szSection, szFileIniConfig))
{
hRootKey = ParseRootKey(szBuf);
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);
GetPrivateProfileString(szSection, "Overwrite Key", "", szOverwriteKey, sizeof(szOverwriteKey), szFileIniConfig);
ZeroMemory(szKey, sizeof(szKey));
memset(szKey, 0, sizeof(szKey));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szKey, szBuf);
else
strcpy(szKey, szBuf);
if(strcmpi(szOverwriteKey, "FALSE") == 0)
bOverwriteKey = FALSE;
else
bOverwriteKey = TRUE;
GetPrivateProfileString(szSection, "Name", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt Name", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
GetPrivateProfileString(szSection, "Overwrite Name", "", szOverwriteName, sizeof(szOverwriteName), szFileIniConfig);
ZeroMemory(szName, sizeof(szName));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szName, szBuf);
else
strcpy(szName, szBuf);
if(strcmpi(szOverwriteName, "FALSE") == 0)
bOverwriteName = FALSE;
else
bOverwriteName = TRUE;
GetPrivateProfileString(szSection, "Name Value", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt Name Value", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
ZeroMemory(szValue, sizeof(szValue));
GetPrivateProfileString(szSection, "Key Value", "", szBuf, sizeof(szBuf), szFileIniConfig);
GetPrivateProfileString(szSection, "Decrypt Key Value", "", szDecrypt, sizeof(szDecrypt), szFileIniConfig);
memset(szValue, 0, sizeof(szValue));
if(strcmpi(szDecrypt, "TRUE") == 0)
DecryptString(szValue, szBuf);
else
@ -1848,9 +1703,9 @@ HRESULT ProcessWinReg(DWORD dwTiming, char *szSectionPrefix)
GetPrivateProfileString(szSection, "Size", "", szBuf, sizeof(szBuf), szFileIniConfig);
if(*szBuf != '\0')
dwSize = atoi(szBuf);
ulSize = atoi(szBuf);
else
dwSize = 0;
ulSize = 0;
GetPrivateProfileString(szSection,
"Do Not Uninstall",
@ -1863,52 +1718,13 @@ HRESULT ProcessWinReg(DWORD dwTiming, char *szSectionPrefix)
else
bDnu = FALSE;
/* Read the OS key to see if there are restrictions on which OS to
* the Windows registry key for */
GetPrivateProfileString(szSection,
"OS",
"",
szBuf,
sizeof(szBuf),
szFileIniConfig);
/* If there is no OS key value set, then assume all OS is valid.
* If there are any, then compare against the global OS value to
* make sure there's a match. */
bOSDetected = TRUE;
if((*szBuf != '\0') &&
((gSystemInfo.dwOSType & ParseOSType(szBuf)) == 0))
bOSDetected = FALSE;
if(bOSDetected)
{
ZeroMemory(szBuf, sizeof(szBuf));
GetPrivateProfileString(szSection,
"Type",
"",
szBuf,
sizeof(szBuf),
szFileIniConfig);
if(ParseRegType(szBuf, &dwType))
{
/* create/set windows registry key here (string value)! */
SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName,
dwType, (CONST LPBYTE)szValue, strlen(szValue), TRUE, bDnu);
}
else
{
iiNum = _atoi64(szValue);
/* create/set windows registry key here (binary/dword value)! */
SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName,
dwType, (CONST LPBYTE)&iiNum, dwSize, TRUE, bDnu);
}
}
PrfWriteProfileString(HINI_USERPROFILE, szApp, szKey, szValue);
}
++dwIndex;
BuildNumberedString(dwIndex, szSectionPrefix, "Windows Registry", szSection, sizeof(szSection));
GetPrivateProfileString(szSection, "Root Key", "", szBuf, sizeof(szBuf), szFileIniConfig);
++ulIndex;
BuildNumberedString(ulIndex, szSectionPrefix, "OS2 INI", szSection, sizeof(szSection));
GetPrivateProfileString(szSection, "App", "", szBuf, sizeof(szBuf), szFileIniConfig);
}
#endif
return(FO_SUCCESS);
}
@ -1918,7 +1734,6 @@ HRESULT ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix)
DWORD dwIndex0;
DWORD dwIndex1;
DWORD dwIconId;
DWORD dwRestrictedAccess;
char szIndex1[MAX_BUF];
char szBuf[MAX_BUF];
char szSection0[MAX_BUF];
@ -1962,18 +1777,11 @@ HRESULT ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix)
else
dwIconId = 0;
GetPrivateProfileString(szSection1, "Restricted Access", "", szBuf, sizeof(szBuf), szFileIniConfig);
dwRestrictedAccess = ParseRestrictedAccessKey(szBuf);
if((dwRestrictedAccess == RA_IGNORE) ||
((dwRestrictedAccess == RA_ONLY_RESTRICTED) && gbRestrictedAccess) ||
((dwRestrictedAccess == RA_ONLY_NONRESTRICTED) && !gbRestrictedAccess))
{
CreateALink(szFile, szProgramFolder, szDescription, szWorkingDir, szArguments, szIconPath, dwIconId);
strcpy(szBuf, szProgramFolder);
AppendBackSlash(szBuf, sizeof(szBuf));
strcat(szBuf, szDescription);
UpdateInstallLog(KEY_WINDOWS_SHORTCUT, szBuf, FALSE);
}
++dwIndex1;
itoa(dwIndex1, szIndex1, 10);
@ -2097,7 +1905,6 @@ HRESULT ProcessCreateCustomFiles(DWORD dwTiming)
sprintf(szBufTiny,"Section%d-Value%d",dwSectIndex,dwKVIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szBuf, sizeof(szBuf), szFileIniConfig);
DecryptString(szDefinedValue, szBuf);
#ifdef OLDCODE /* @MAK we need this */
if(WritePrivateProfileString(szDefinedSection, szDefinedKey, szDefinedValue, szFileName) == 0)
{
char szEWPPS[MAX_BUF];
@ -2111,7 +1918,6 @@ HRESULT ProcessCreateCustomFiles(DWORD dwTiming)
}
return(FO_ERROR_WRITE);
}
#endif
sprintf(szBufTiny,"Section%d-Key%d",dwSectIndex,++dwKVIndex);
GetPrivateProfileString(szSection, szBufTiny, "", szDefinedKey, sizeof(szDefinedKey), szFileIniConfig);
} /* while(*szDefinedKey != '\0') */

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

@ -41,7 +41,7 @@ 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 ProcessOS2INI(ULONG ulTiming, char *szSectionPrefix);
HRESULT CreateALink(LPSTR lpszPathObj,
LPSTR lpszPathLink,
LPSTR lpszDesc,
@ -53,7 +53,6 @@ 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,
@ -83,7 +82,6 @@ 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);
DWORD ParseRestrictedAccessKey(LPSTR szKey);
void AppendWinReg(HKEY hkRootKey,
LPSTR szKey,
LPSTR szName,

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

@ -33,10 +33,6 @@ HINSTANCE hSetupRscInst;
HINSTANCE hSDInst;
HINSTANCE hXPIStubInst;
HBITMAP hbmpBoxChecked;
HBITMAP hbmpBoxCheckedDisabled;
HBITMAP hbmpBoxUnChecked;
HWND hDlgCurrent;
HWND hDlgMessage;
HWND hWndMain;
@ -73,7 +69,6 @@ BOOL gbPreviousUnfinishedDownload;
BOOL gbPreviousUnfinishedInstallXpi;
BOOL gbIgnoreRunAppX;
BOOL gbIgnoreProgramFolderX;
BOOL gbRestrictedAccess;
BOOL gbDownloadTriggered;
setupGen sgProduct;
@ -118,7 +113,6 @@ int main(int argc, char *argv[], char *envp[])
int iRv = WIZ_OK;
HWND hwndFW;
int rc = 0;
HENUM henum;
hab = WinInitialize( 0 );
hmq = WinCreateMsgQueue( hab, 0 );
@ -130,34 +124,12 @@ int main(int argc, char *argv[], char *envp[])
/* 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)
{
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)
if((hwndFW = FindWindow(CLASS_NAME_SETUP_DLG, NULL)) != NULL)
{
WinSetWindowPos(hwndFW, 0, 0, 0, 0, 0, SWP_RESTORE);
WinSetActiveWindow(HWND_DESKTOP, hwndFW);
iRv = WIZ_SETUP_ALREADY_RUNNING;
rc = 1;
WinPostQueueMsg(0, WM_QUIT, 1, 0);
}
else if(Initialize(0, argv[0]))
WinPostQueueMsg(0, WM_QUIT, 1, 0);

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

@ -92,11 +92,6 @@ typedef int PRInt32;
#define UP_FTP 0
#define UP_HTTP 1
/* RA: Restricted Access */
#define RA_IGNORE 0
#define RA_ONLY_RESTRICTED 1
#define RA_ONLY_NONRESTRICTED 2
/* LIS: Log Install Status */
#define LIS_SUCCESS 0
#define LIS_FAILURE 1
@ -150,8 +145,8 @@ typedef int PRInt32;
#define ERROR_CODE_SHOW 1
#define DLG_NONE 0
#define DLG_COMMIT_INSTALL 1
#define CX_CHECKBOX 13
#define CY_CHECKBOX 13
#define CX_CHECKBOX 11
#define CY_CHECKBOX 11
/* WIZ: WIZARD defines */
#define WIZ_OK 0
@ -546,7 +541,6 @@ struct sSysInfo
LONG lScreenX;
LONG lScreenY;
BOOL bScreenReader;
BOOL bRefreshIcons;
};
typedef struct diskSpaceNode dsN;

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

@ -26,7 +26,7 @@ typedef QMSG MSG;
typedef CHAR TCHAR;
#define WM_INITDIALOG WM_INITDLG
#define IDYES DID_OK
#define IDYES MBID_YES
#define MF_GRAYED 1
#define MF_BYCOMMAND 1
#define SWP_NOSIZE 1
@ -36,11 +36,4 @@ typedef CHAR TCHAR;
#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
#include "pplib.h"

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

@ -237,9 +237,9 @@ HRESULT SmartUpdateJars()
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;
@ -297,7 +297,7 @@ HRESULT SmartUpdateJars()
}
sprintf(szBuf, szStrInstalling, siCObject->szDescriptionShort);
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS0, szBuf);
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS0, szBuf);
LogISXPInstallComponent(siCObject->szDescriptionShort);
hrResult = pfnXpiInstall(szArchive, "", 0xFFFF);
@ -375,7 +375,7 @@ void cbXPIProgress(const char* msg, PRInt32 val, PRInt32 max)
if(max == 0)
{
sprintf(szStrProcessingFileBuf, szStrProcessingFile, szFilename);
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrProcessingFileBuf);
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrProcessingFileBuf);
bBarberBar = TRUE;
// UpdateGaugeFileBarber();
}
@ -391,7 +391,7 @@ void cbXPIProgress(const char* msg, PRInt32 val, PRInt32 max)
}
sprintf(szStrCopyingFileBuf, szStrCopyingFile, szFilename);
// SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrCopyingFileBuf);
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS3, szStrCopyingFileBuf);
// UpdateGaugeFileProgressBar((unsigned)(((double)(val+1)/(double)max)*(double)100));
}
}
@ -423,14 +423,16 @@ CenterWindow(HWND hWndDlg)
SetWindowPos(hWndDlg, NULL, iLeft, iTop, -1, -1, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
}
#endif
// Window proc for dialog
LRESULT CALLBACK
ProgressDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
MRESULT APIENTRY
ProgressDlgProc(HWND hWndDlg, ULONG msg, MPARAM mp1, MPARAM mp2)
{
#ifdef OLDCODE
switch (msg)
{
case WM_INITDIALOG:
case WM_INITDLG:
DisableSystemMenuItems(hWndDlg, TRUE);
CenterWindow(hWndDlg);
SendDlgItemMessage (hWndDlg, IDC_STATUS0, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
@ -444,8 +446,11 @@ ProgressDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
}
return FALSE; // didn't handle the message
#endif
return WinDefDlgProc(hWndDlg, msg, mp1, mp2);
}
#ifdef OLDCODE
// This routine will update the File Gauge progress bar to the specified percentage
// (value between 0 and 100)
static void
@ -777,9 +782,13 @@ GaugeArchiveWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
#endif
void InitProgressDlg()
{
dlgInfo.hWndDlg = WinLoadDlg(HWND_DESKTOP, hWndMain, ProgressDlgProc, hSetupRscInst, DLG_EXTRACTING, NULL);
WinShowWindow(dlgInfo.hWndDlg, TRUE);
#ifdef OLDCODE
WNDCLASS wc;
if(sgProduct.dwMode != SILENT)
@ -800,8 +809,10 @@ void InitProgressDlg()
dlgInfo.hWndDlg = CreateDialog(hSetupRscInst, MAKEINTRESOURCE(DLG_EXTRACTING), hWndMain, (WNDPROC)ProgressDlgProc);
UpdateWindow(dlgInfo.hWndDlg);
}
#endif
}
#ifdef OLDCODE
void DeInitProgressDlg()
{
if(sgProduct.dwMode != SILENT)

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

@ -115,6 +115,7 @@ struct TickInfo
BOOL bTickDownloadResumed;
} gtiPaused;
#ifdef OLDCODE
BOOL CheckInterval(long *lModLastValue, int iInterval)
{
BOOL bRv = FALSE;
@ -248,8 +249,8 @@ void SetStatusStatus(void)
/* Only update the UI every UPDATE_INTERVAL_STATUS interval,
* which is currently set to 1 sec. */
if(!CheckInterval(&lModLastValue, UPDATE_INTERVAL_STATUS))
return;
// if(!CheckInterval(&lModLastValue, UPDATE_INTERVAL_STATUS))
// return;
if(glAbsoluteBytesSoFar == 0)
dRateCounter = 0.0;
@ -334,6 +335,7 @@ void SetStatusStatus(void)
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS_STATUS, szCurrentStatusInfo);
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_PERCENTAGE, szPercentString);
}
#endif
void SetStatusFile(void)
{
@ -342,7 +344,7 @@ void SetStatusFile(void)
/* Set the download dialog status*/
sprintf(szString, gszFileInfo, gszCurrentDownloadFileDescription);
WinSetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS_FILE, szString);
SetStatusStatus();
// SetStatusStatus();
}
void SetStatusUrl(void)
@ -776,7 +778,7 @@ void PauseTheDownload(int rv, int *iFileDownloadRetries)
{
if(rv != nsFTPConn::E_USER_CANCEL)
{
WinSendMsg(dlgInfo.hWndDlg, WM_COMMAND, IDPAUSE, 0);
WinSendMsg(dlgInfo.hWndDlg, WM_COMMAND, (MPARAM)IDPAUSE, 0);
--*iFileDownloadRetries;
}
@ -863,8 +865,8 @@ int DownloadFiles(char *szInputIniFile,
if(szFailedFile)
memset(szFailedFile, 0, dwFailedFileSize);
InitTickInfo();
GetCurrentDirectory(sizeof(szSavedCwd), szSavedCwd);
// InitTickInfo();
// GetCurrentDirectory(sizeof(szSavedCwd), szSavedCwd);
DosSetCurrentDir(szDownloadDir);
rv = WIZ_OK;
@ -927,10 +929,12 @@ int DownloadFiles(char *szInputIniFile,
gszCurrentDownloadFileDescription,
sizeof(gszCurrentDownloadFileDescription),
gszConfigIniFile);
#ifdef OLDCODE
iIgnoreFileNetworkError = GetPrivateProfileInt(szSection,
"Ignore File Network Error",
0,
gszConfigIniFile);
#endif
/* save the file name to be downloaded */
ParsePath(szTempURL,
@ -1048,7 +1052,7 @@ int DownloadFiles(char *szInputIniFile,
* long before the user will dismiss the MessageBox() */
if(!gtiPaused.bTickStarted)
{
gtiPaused.dwTickBegin = GetTickCount();
// gtiPaused.dwTickBegin = GetTickCount();
gtiPaused.bTickStarted = TRUE;
gtiPaused.bTickDownloadResumed = FALSE;
}
@ -1178,19 +1182,18 @@ int DownloadFiles(char *szInputIniFile,
}
CloseSocket(szProxyServer, szProxyPort);
DeInitDownloadDlg();
SetCurrentDirectory(szSavedCwd);
// DeInitDownloadDlg();
// SetCurrentDirectory(szSavedCwd);
return(rv);
}
#ifdef OLDCODE
int ProgressCB(int aBytesSoFar, int aTotalFinalSize)
{
long lBytesDiffSoFar;
double dPercentSoFar;
int iRv = nsFTPConn::OK;
if(sgProduct.dwMode != SILENT)
if(sgProduct.ulMode != SILENT)
{
SetStatusUrl();
@ -1210,8 +1213,8 @@ int ProgressCB(int aBytesSoFar, int aTotalFinalSize)
if(gbDlgDownloadMinimized)
SetMinimizedDownloadTitle((int)dPercentSoFar);
UpdateGaugeFileProgressBar(dPercentSoFar);
SetStatusStatus();
// UpdateGaugeFileProgressBar(dPercentSoFar);
// SetStatusStatus();
if((gdwDownloadDialogStatus == CS_CANCEL) ||
(gdwDownloadDialogStatus == CS_PAUSE))
@ -1226,6 +1229,7 @@ int ProgressCB(int aBytesSoFar, int aTotalFinalSize)
// Progress bar
// Centers the specified window over the desktop. Assumes the window is
// smaller both horizontally and vertically than the desktop
#ifdef OLDCODE
static void
CenterWindow(HWND hWndDlg)
{
@ -1238,28 +1242,29 @@ CenterWindow(HWND hWndDlg)
SetWindowPos(hWndDlg, NULL, iLeft, iTop, -1, -1, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
}
#endif
// Window proc for dialog
LRESULT CALLBACK
DownloadDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
MRESULT EXPENTRY
DownloadDlgProc(HWND hWndDlg, ULONG msg, MPARAM mp1, MPARAM mp2)
{
switch (msg)
{
case WM_INITDIALOG:
case WM_INITDLG:
GetPrivateProfileString("Strings",
"Status File Info",
"",
gszFileInfo,
sizeof(gszFileInfo),
szFileIniConfig);
DisableSystemMenuItems(hWndDlg, FALSE);
CenterWindow(hWndDlg);
// DisableSystemMenuItems(hWndDlg, FALSE);
// CenterWindow(hWndDlg);
if(gbShowDownloadRetryMsg)
WinSetDlgItemText(hWndDlg, IDC_MESSAGE0, diDownload.szMessageRetry0);
else
WinSetDlgItemText(hWndDlg, IDC_MESSAGE0, diDownload.szMessageDownload0);
EnableWindow(WinWindowFromID(hWndDlg, IDRESUME), FALSE);
WinEnableWindow(WinWindowFromID(hWndDlg, IDRESUME), FALSE);
WinSetDlgItemText(hWndDlg, IDC_STATIC1, sgInstallGui.szStatus);
WinSetDlgItemText(hWndDlg, IDC_STATIC2, sgInstallGui.szFile);
WinSetDlgItemText(hWndDlg, IDC_STATIC4, sgInstallGui.szTo);
@ -1267,6 +1272,7 @@ DownloadDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
WinSetDlgItemText(hWndDlg, IDCANCEL, sgInstallGui.szCancel_);
WinSetDlgItemText(hWndDlg, IDPAUSE, sgInstallGui.szPause_);
WinSetDlgItemText(hWndDlg, IDRESUME, sgInstallGui.szResume_);
#ifdef OLDCODE
SendDlgItemMessage (hWndDlg, IDC_STATIC1, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
SendDlgItemMessage (hWndDlg, IDC_STATIC2, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
SendDlgItemMessage (hWndDlg, IDC_STATIC3, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
@ -1278,9 +1284,10 @@ DownloadDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
SendDlgItemMessage (hWndDlg, IDC_STATUS_FILE, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
SendDlgItemMessage (hWndDlg, IDC_STATUS_URL, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
SendDlgItemMessage (hWndDlg, IDC_STATUS_TO, WM_SETFONT, (WPARAM)sgInstallGui.definedFont, 0L);
#endif
break;
return FALSE;
#ifdef OLDCODE
case WM_SIZE:
switch(wParam)
{
@ -1334,11 +1341,13 @@ DownloadDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
break;
}
return(TRUE);
#endif
}
return(FALSE); // didn't handle the message
return WinDefDlgProc(hWndDlg, msg, mp1, mp2);
}
#ifdef OLDCODE
// This routine will update the File Gauge progress bar to the specified percentage
// (value between 0 and 100)
static void
@ -1501,9 +1510,13 @@ GaugeDownloadWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
#endif
void InitDownloadDlg(void)
{
dlgInfo.hWndDlg = WinLoadDlg(HWND_DESKTOP, hWndMain, DownloadDlgProc, hSetupRscInst, DLG_DOWNLOADING, NULL);
WinShowWindow(dlgInfo.hWndDlg, TRUE);
#ifdef OLDCODE
WNDCLASS wc;
if(sgProduct.dwMode != SILENT)
@ -1521,8 +1534,10 @@ void InitDownloadDlg(void)
UpdateWindow(dlgInfo.hWndDlg);
UpdateGaugeFileProgressBar(0);
}
#endif
}
#ifdef OLDCODE
void DeInitDownloadDlg()
{
if(sgProduct.dwMode != SILENT)

Двоичные данные
xpinstall/wizard/os2/setuprsc/box_ch_d.bmp Normal file

Двоичный файл не отображается.

Двоичные данные
xpinstall/wizard/os2/setuprsc/box_chec.bmp Normal file

Двоичный файл не отображается.

Двоичные данные
xpinstall/wizard/os2/setuprsc/box_unch.bmp Normal file

Двоичный файл не отображается.

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

@ -122,5 +122,6 @@
#define IDWIZNEXT 11014
#define IDS_MSG_CREATE_DIRECTORY 11015
#define IDWIZNEXT2 11015
#define IDC_MOZILLA 11016
#define IDC_STATIC -1

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

@ -8,31 +8,49 @@
DLGTEMPLATE DLG_WELCOME DISCARDABLE
BEGIN
DIALOG "", DLG_WELCOME, 64, -69, 394, 205,
DIALOG "", DLG_WELCOME, 0, 0, 313, 167,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
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
CONTROL "", IDC_STATIC, 5, 24, 303, 1, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL 108, IDC_MOZILLA, 7, 32, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
LTEXT "", IDC_STATIC0, 96, 139, 212, 24, DT_WORDBREAK
LTEXT "", IDC_STATIC1, 96, 109, 212, 24, DT_WORDBREAK
LTEXT "", IDC_STATIC2, 96, 79, 212, 24, DT_WORDBREAK
CONTROL "", IDC_STATIC3, 5, 31, 83, 132, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
DEFPUSHBUTTON "", IDWIZNEXT, 200, 4, 50, 14
PUSHBUTTON "", DID_CANCEL, 258, 4, 50, 14
END
END
DLGTEMPLATE DLG_LICENSE DISCARDABLE
BEGIN
DIALOG "", DLG_LICENSE, 0, 0, 313, 167,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
LTEXT "", IDC_MESSAGE0, 5, 147, 303, 16, DT_WORDBREAK
MLE "", IDC_EDIT_LICENSE, 5, 61, 303, 80, WS_GROUP | MLS_READONLY | MLS_VSCROLL | MLS_HSCROLL
LTEXT "", IDC_MESSAGE1, 5, 31, 303, 24, DT_WORDBREAK
CONTROL "", IDC_STATIC, 5, 24, 303, 1, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
PUSHBUTTON "", IDWIZBACK, 142, 4, 50, 14, WS_GROUP
DEFPUSHBUTTON "", IDWIZNEXT, 200, 4, 50, 14
PUSHBUTTON "", DID_CANCEL, 258, 4, 50, 14
END
END
DLGTEMPLATE DLG_SETUP_TYPE DISCARDABLE
BEGIN
DIALOG "", DLG_SETUP_TYPE, 64, -69, 394, 205,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
// FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER | FCF_TASKLIST
FCF_NOMOVEWITHOWNER | FCF_TASKLIST
BEGIN
CONTROL "", IDC_RADIO_ST0, 128, 164, 82, 12, WC_BUTTON, BS_AUTORADIOBUTTON |
WS_TABSTOP | BS_PUSHBUTTON | WS_VISIBLE
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
AUTORADIOBUTTON "", IDC_RADIO_ST0, 128, 164, 82, 12, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST1, 128, 136, 82, 12, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST2, 128, 109, 82, 12, WS_VISIBLE
AUTORADIOBUTTON "", IDC_RADIO_ST3, 128, 81, 82, 12, 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
@ -41,12 +59,13 @@ BEGIN
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
PUSHBUTTON "", IDWIZBACK, 142, 4, 50, 14
DEFPUSHBUTTON "", IDWIZNEXT, 200, 4, 50, 14
PUSHBUTTON "", DID_CANCEL, 258, 4, 50, 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
CONTROL "", IDC_STATIC3, 5, 31, 83, 132, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
CONTROL 108, IDC_MOZILLA, 7, 32, 1, 1, WC_STATIC, SS_BITMAP | WS_VISIBLE
CONTROL "", IDC_STATIC, 5, 24, 303, 1, WC_STATIC, SS_FGNDFRAME | WS_VISIBLE
END
END
@ -57,8 +76,7 @@ BEGIN
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
BEGIN
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
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | 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
@ -119,22 +137,6 @@ BEGIN
END
END
DLGTEMPLATE DLG_LICENSE DISCARDABLE
BEGIN
DIALOG "", DLG_LICENSE, 64, -69, 394, 205,
WS_VISIBLE | FS_DLGBORDER | FS_SCREENALIGN,
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
BEGIN
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_QUICK_LAUNCH DISCARDABLE
BEGIN
DIALOG "", DLG_QUICK_LAUNCH, 64, -69, 394, 205,
@ -240,8 +242,7 @@ BEGIN
FCF_TITLEBAR | FCF_SYSMENU | FCF_NOMOVEWITHOWNER
BEGIN
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
LISTBOX IDC_LIST_COMPONENTS, 127, 96, 255, 67, LS_OWNERDRAW | 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
@ -351,10 +352,10 @@ ICON IDI_SETUP DISCARDABLE "setup.ico"
// Bitmap
//
ICON IDB_BOX_UNCHECKED FIXED IMPURE "box_unch.ico"
ICON IDB_BOX_CHECKED FIXED IMPURE "box_chec.ico"
BITMAP IDB_BOX_UNCHECKED FIXED IMPURE "box_unch.bmp"
BITMAP IDB_BOX_CHECKED FIXED IMPURE "box_chec.bmp"
BITMAP IDB_BITMAP_WELCOME DISCARDABLE "bitmap1.bmp"
ICON IDB_BOX_CHECKED_DISABLED FIXED IMPURE "box_ch_d.ico"
BITMAP IDB_BOX_CHECKED_DISABLED FIXED IMPURE "box_ch_d.bmp"
BITMAP IDB_BITMAP_DOWNLOAD_LOGO DISCARDABLE "downloadLogo.bmp"
/////////////////////////////////////////////////////////////////////////////