Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

137 lines
4.4 KiB

#ifndef __INSTALLER_H_
#define __INSTALLER_H_
#include "stdio.h"
#include "string.h"
#include <windows.h>
#include <fdi.h>
#ifdef _DEBUG
#define INIFILE TEXT(".\\layout.inf")
#endif
#define MUIINFFILENAME TEXT("mui.inf")
#define MUIINF TEXT(".\\mui.inf")
#define HELPDIR TEXT("HELP\\MUI")
#define MUI_LANGUAGES_SECTION TEXT("Languages")
#define MUI_COMPONENTS_SECTION TEXT("Components")
#define MUI_LANGPACK_SECTION TEXT("LanguagePack")
#define MUI_DISPLAYNAME_SECTION TEXT("LanguageDisplayName")
#define MUI_COUNTRYNAME_SECTION TEXT("UseCountryName")
#define MUI_UIFILESIZE_SECTION TEXT("FileSize_UI")
#define MUI_UIFILESIZE_SECTION_IA64 TEXT("FileSize_UI_IA64")
#define MUI_LPKFILESIZE_SECTION TEXT("FileSize_LPK")
#define MUI_LPKFILESIZE_SECTION_IA64 TEXT("FileSize_LPK_IA64")
#define MUI_CDLAYOUT_SECTION TEXT("CD_LAYOUT")
#define MUI_CDLAYOUT_SECTION_IA64 TEXT("CD_LAYOUT_IA64")
#define MUI_FILELAYOUT_SECTION TEXT("File_Layout")
#define MUI_NOFALLBACK_SECTION TEXT("FileType_NoFallback")
#define MUI_CDLABEL TEXT("cdlabel")
#define MUI_LIP_LANGUAGES_SECTION TEXT("LIP_Languages")
#define MUI_LIP_ALLOW_SWITCH_SECTION TEXT("LIP_Allow_Switch")
#define PLATFORMNAME_PRO TEXT("P")
#define PLATFORMNAME_SRV TEXT("S")
#define PLATFORMNAME_AS TEXT("A")
#define PLATFORMNAME_DTC TEXT("D")
#define IE5_MUIINF_FILE TEXT("ie5ui.inf")
#define IE5_MUI_DIR TEXT("ie5")
#define IE5_INSTALL_SECTION TEXT("DefaultInstall")
#define IE5_UNINSTALL_SECTION TEXT("Uninstall")
#define IE5_Satellite_HOME TEXT("Program Files\\Internet Explorer\\MUI\\")
#define IE5_Satellite_WEB TEXT("web\\mui\\")
#define IE5_Satellite_JAVA TEXT("Java\\Help\\")
#define IE5_Satellite_HH TEXT("system32\\mui\\")
#define DEFAULT_CD_NUMBER 2
#define MFL 20
#define DIRNUMBER 100
#define FILERENAMENUMBER 200
#define NOTFALLBACKNUMBER 20
#define MUIDIR TEXT("MUI")
#define FALLBACKDIR TEXT("\\MUI\\FALLBACK")
//
// max size of fontlink string, same as GRE
//
#define FONTLINK_BUF_SIZE MAX_PATH+LF_FACESIZE
//
// Diamond definitions/structures (diamond.c)
//
#define DIAMOND_NONE 0x00000000
#define DIAMOND_GET_DEST_FILE_NAME 0x00000001
#define DIAMOND_FILE 0x00000002
#define MUI_IS_WIN2K_PRO 0
#define MUI_IS_WIN2K_SERVER 1
#define MUI_IS_WIN2K_ADV_SERVER_OR_DATACENTER 2
#define MUI_IS_WIN2K_DATACENTER 3
#define MUI_IS_WIN2K_DC 4
#define MUI_IS_WIN2K_ENTERPRISE 5
#define MUI_IS_WIN2K_DC_DATACENTER 6
#define MUI_IS_WIN2K_PERSONAL 7
typedef struct
{
UINT flags;
char szSrcFileName[ MAX_PATH ];
char szSrcFilePath[ MAX_PATH ];
char szDestFilePath[ MAX_PATH ];
} DIAMOND_PACKET, *PDIAMOND_PACKET;
//
// Diamond APIs (diamond.c)
//
HFDI Muisetup_InitDiamond();
BOOL Muisetup_FreeDiamond();
void Muisetup_DiamondReset(
PDIAMOND_PACKET pDiamond);
BOOL Muisetup_IsDiamondFile(
PWSTR pwszFileName,
PWSTR pwszOriginalName,
INT nSize,
PDIAMOND_PACKET pDiamond);
BOOL Muisetup_CopyDiamondFile(
PDIAMOND_PACKET pDiamond,
PWSTR pwszCopyTo);
int EnumLanguages(LPTSTR Languages, BOOL bCheckDir = TRUE);
BOOL checkversion(BOOL bMatchBuildNumber);
BOOL FileExists(LPTSTR szFile);
BOOL EnumDirectories(void);
BOOL EnumFileRename();
BOOL EnumTypeNotFallback();
BOOL CopyFileFailed(LPTSTR lpFile, DWORD dwErrorCode);
BOOL CopyFiles(HWND hWnd, LPTSTR Languages);
BOOL MofCompileLanguages(LPTSTR Languages);
BOOL UpdateRegistry(LPTSTR Languages,BOOL *lpbFontLinkRegistryTouched);
BOOL UpdateRegistry_FontLink(LPTSTR Languages,BOOL *lpbFontLinkRegistryTouched);
BOOL MakeDir(LPTSTR szTarget);
BOOL MakeDirFailed(LPTSTR lpDirectory);
BOOL ExecuteComponentINF(
HWND hDlg, PTSTR pComponentName, PTSTR pComponentInfFile, PTSTR pInstallSection, BOOL bInstall);
BOOL CheckLanguageDirectoryExist(LPTSTR Languages);
BOOL CheckProductType(INT_PTR nType);
BOOL CompareMuisetupVersion(LPTSTR pszSrc,LPTSTR pszTarget);
BOOL IsFileBeRenamed(LPTSTR lpszSrc,LPTSTR lpszDest);
BOOL IsFileInRenameTable(LPTSTR lpszSrc);
BOOL InstallComponentsMUIFiles(PTSTR pszLangSourceDir, PTSTR pszLanguage, BOOL isInstall);
#endif //__INSTALLER_H