Kaydet (Commit) fa932884 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Drop Win9x code

üst 76983359
...@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper ...@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); MsiSetProperty(handle, sProperty.c_str(), TEXT("1"));
} }
static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
BOOL fSuccess = FALSE; // assume failure
// Windows 9x has a special mechanism to move files after reboot
if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT )
{
CHAR szExistingFileNameA[MAX_PATH];
CHAR szNewFileNameA[MAX_PATH] = "NUL";
// Path names in WININIT.INI must be in short path name form
if (
GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) &&
(!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH ))
)
{
CHAR szBuffer[32767]; // The buffer size must not exceed 32K
DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME );
CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters
strcpy( szRename, szNewFileNameA );
strcat( szRename, "=" );
strcat( szRename, szExistingFileNameA );
size_t lnRename = strlen(szRename);
if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) )
{
CopyMemory( &szBuffer[dwBufLen], szRename, lnRename );
szBuffer[dwBufLen + lnRename ] = 0;
szBuffer[dwBufLen + lnRename + 1 ] = 0;
fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME );
}
else
SetLastError( ERROR_BUFFER_OVERFLOW );
}
}
else
{
fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA );
if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED &&
0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) )
{
BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING);
fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist );
if ( fSuccess )
fSuccess = DeleteFileA( lpExistingFileNameA );
}
}
return fSuccess;
}
static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x
return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags );
else
return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags );
}
extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
{ {
std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") );
...@@ -196,10 +128,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) ...@@ -196,10 +128,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName;
std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); std::_tstring sIntermediate = sResourceFile + TEXT(".tmp");
fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); fRenameSucceeded = MoveFileExA( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING );
if ( fRenameSucceeded ) if ( fRenameSucceeded )
{ {
MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); MoveFileExA( sIntermediate.c_str(), sResourceFile.c_str(), 0 );
fSuccess = FindNextFile( hFind, &aFindFileData ); fSuccess = FindNextFile( hFind, &aFindFileData );
} }
} while ( fSuccess && fRenameSucceeded ); } while ( fSuccess && fRenameSucceeded );
......
...@@ -178,74 +178,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper ...@@ -178,74 +178,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); MsiSetProperty(handle, sProperty.c_str(), TEXT("1"));
} }
static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
BOOL fSuccess = FALSE; // assume failure
// Windows 9x has a special mechanism to move files after reboot
if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT )
{
CHAR szExistingFileNameA[MAX_PATH];
CHAR szNewFileNameA[MAX_PATH] = "NUL";
// Path names in WININIT.INI must be in short path name form
if (
GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) &&
(!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH ))
)
{
CHAR szBuffer[32767]; // The buffer size must not exceed 32K
DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME );
CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters
strcpy( szRename, szNewFileNameA );
strcat( szRename, "=" );
strcat( szRename, szExistingFileNameA );
size_t lnRename = strlen(szRename);
if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) )
{
CopyMemory( &szBuffer[dwBufLen], szRename, lnRename );
szBuffer[dwBufLen + lnRename ] = 0;
szBuffer[dwBufLen + lnRename + 1 ] = 0;
fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME );
}
else
SetLastError( ERROR_BUFFER_OVERFLOW );
}
}
else
{
fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA );
if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED &&
0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) )
{
BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING);
fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist );
if ( fSuccess )
fSuccess = DeleteFileA( lpExistingFileNameA );
}
}
return fSuccess;
}
static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x
return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags );
else
return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags );
}
static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFileName2 ) static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFileName2 )
{ {
std::_tstring sTempFileName = sFileName1 + TEXT(".tmp"); std::_tstring sTempFileName = sFileName1 + TEXT(".tmp");
...@@ -253,26 +185,26 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi ...@@ -253,26 +185,26 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi
bool fSuccess = true; bool fSuccess = true;
//Try to move the original file to a temp file //Try to move the original file to a temp file
fSuccess = MoveFileExImpl( sFileName1.c_str(), sTempFileName.c_str(), MOVEFILE_REPLACE_EXISTING); fSuccess = MoveFileExA( sFileName1.c_str(), sTempFileName.c_str(), MOVEFILE_REPLACE_EXISTING);
std::_tstring mystr; std::_tstring mystr;
if ( fSuccess ) if ( fSuccess )
{ {
fSuccess = MoveFileExImpl( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); fSuccess = MoveFileExA( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING );
if ( fSuccess ) if ( fSuccess )
{ {
fSuccess = MoveFileExImpl( sTempFileName.c_str(), sFileName2.c_str(), fSuccess = MoveFileExA( sTempFileName.c_str(), sFileName2.c_str(),
MOVEFILE_REPLACE_EXISTING ); MOVEFILE_REPLACE_EXISTING );
if ( !fSuccess ) if ( !fSuccess )
{ {
MoveFileExImpl( sFileName1.c_str(), sFileName2.c_str(), MOVEFILE_REPLACE_EXISTING ); MoveFileExA( sFileName1.c_str(), sFileName2.c_str(), MOVEFILE_REPLACE_EXISTING );
} }
} }
else else
{ {
MoveFileExImpl( sTempFileName.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); MoveFileExA( sTempFileName.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING );
} }
} }
else else
...@@ -284,7 +216,7 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi ...@@ -284,7 +216,7 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi
HANDLE hdl = FindFirstFile(sFileName1.c_str(), &data); HANDLE hdl = FindFirstFile(sFileName1.c_str(), &data);
if (hdl == INVALID_HANDLE_VALUE) if (hdl == INVALID_HANDLE_VALUE)
{ {
fSuccess = MoveFileExImpl( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); fSuccess = MoveFileExA( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING );
} }
else else
{ {
...@@ -668,10 +600,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) ...@@ -668,10 +600,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName;
std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); std::_tstring sIntermediate = sResourceFile + TEXT(".tmp");
fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); fRenameSucceeded = MoveFileExA( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING );
if ( fRenameSucceeded ) if ( fRenameSucceeded )
{ {
MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); MoveFileExA( sIntermediate.c_str(), sResourceFile.c_str(), 0 );
fSuccess = FindNextFile( hFind, &aFindFileData ); fSuccess = FindNextFile( hFind, &aFindFileData );
} }
} while ( fSuccess && fRenameSucceeded ); } while ( fSuccess && fRenameSucceeded );
......
...@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper ...@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); MsiSetProperty(handle, sProperty.c_str(), TEXT("1"));
} }
static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
BOOL fSuccess = FALSE; // assume failure
// Windows 9x has a special mechanism to move files after reboot
if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT )
{
CHAR szExistingFileNameA[MAX_PATH];
CHAR szNewFileNameA[MAX_PATH] = "NUL";
// Path names in WININIT.INI must be in short path name form
if (
GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) &&
(!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH ))
)
{
CHAR szBuffer[32767]; // The buffer size must not exceed 32K
DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME );
CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters
strcpy( szRename, szNewFileNameA );
strcat( szRename, "=" );
strcat( szRename, szExistingFileNameA );
size_t lnRename = strlen(szRename);
if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) )
{
CopyMemory( &szBuffer[dwBufLen], szRename, lnRename );
szBuffer[dwBufLen + lnRename ] = 0;
szBuffer[dwBufLen + lnRename + 1 ] = 0;
fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME );
}
else
SetLastError( ERROR_BUFFER_OVERFLOW );
}
}
else
{
fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA );
if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED &&
0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) )
{
BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING);
fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist );
if ( fSuccess )
fSuccess = DeleteFileA( lpExistingFileNameA );
}
}
return fSuccess;
}
static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags )
{
if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x
return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags );
else
return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags );
}
extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
{ {
OSVERSIONINFO osverinfo; OSVERSIONINFO osverinfo;
...@@ -211,10 +143,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) ...@@ -211,10 +143,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName;
std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); std::_tstring sIntermediate = sResourceFile + TEXT(".tmp");
fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); fRenameSucceeded = MoveFileExA( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING );
if ( fRenameSucceeded ) if ( fRenameSucceeded )
{ {
MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); MoveFileExA( sIntermediate.c_str(), sResourceFile.c_str(), 0 );
fSuccess = FindNextFile( hFind, &aFindFileData ); fSuccess = FindNextFile( hFind, &aFindFileData );
} }
} while ( fSuccess && fRenameSucceeded ); } while ( fSuccess && fRenameSucceeded );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment