This is an automated email from the ASF dual-hosted git repository.

ardovm pushed a commit to branch win32_setup_unicode
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit ec14dc3495fc2ba8deae381e8f31abc3c5343a78
Author: Arrigo Marchiori <[email protected]>
AuthorDate: Wed Feb 4 22:31:46 2026 +0100

    Build Win32 setup only with Unicode support.
    
    Non-unicode ("ANSI") functions were apparently needed only for
    supporting Windows 9X, that is not our priority any more.
    
    This simplifies the internal structure of the setup executable.
---
 main/desktop/win32/source/setup/makefile.mk    |   3 +-
 main/desktop/win32/source/setup/setup.cpp      | 102 ++++++++++++++-----------
 main/desktop/win32/source/setup/setup.hxx      |  61 +++++++--------
 main/desktop/win32/source/setup/setup_a.cxx    |  27 -------
 main/desktop/win32/source/setup/setup_main.cxx |  49 ++----------
 main/desktop/win32/source/setup/setup_main.hxx |  70 -----------------
 main/desktop/win32/source/setup/setup_w.cxx    |  30 --------
 7 files changed, 91 insertions(+), 251 deletions(-)

diff --git a/main/desktop/win32/source/setup/makefile.mk 
b/main/desktop/win32/source/setup/makefile.mk
index 9f6bff14bd..042bf765e6 100644
--- a/main/desktop/win32/source/setup/makefile.mk
+++ b/main/desktop/win32/source/setup/makefile.mk
@@ -54,8 +54,7 @@ ULFDIR:=.
 .ENDIF                 # "$(WITH_LANG)"!=""
 
 OBJFILES=      $(OBJ)$/setup_main.obj \
-                       $(OBJ)$/setup_a.obj \
-                       $(OBJ)$/setup_w.obj
+                       $(OBJ)$/setup.obj
 
 # --- Targets ------------------------------------------------------
 # Generate the native Windows resource file
diff --git a/main/desktop/win32/source/setup/setup.cpp 
b/main/desktop/win32/source/setup/setup.cpp
index 38d7322584..4a28a933d2 100644
--- a/main/desktop/win32/source/setup/setup.cpp
+++ b/main/desktop/win32/source/setup/setup.cpp
@@ -19,6 +19,12 @@
  *
  *************************************************************/
 
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_desktop.hxx"
+
+#define  UNICODE    1
+#define _UNICODE    1
+
 #define WIN // scope W32 API
 
 #if defined _MSC_VER
@@ -117,8 +123,24 @@ const TCHAR sMsiQuiet[]      = TEXT( " /q" );
 const TCHAR sMemMapName[]    = TEXT( "Global\\MsiErrorObject" );
 
 //--------------------------------------------------------------------------
-SetupAppX::SetupAppX()
+SetupApp::SetupApp()
 {
+    m_uiRet         = ERROR_SUCCESS;
+
+    // Get OS version
+    OSVERSIONINFO sInfoOS;
+
+    ZeroMemory( &sInfoOS, sizeof(OSVERSIONINFO) );
+    sInfoOS.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
+
+    GetVersionEx( &sInfoOS );
+
+    m_nOSVersion    = sInfoOS.dwMajorVersion;
+    m_nMinorVersion = sInfoOS.dwMinorVersion;
+    m_bIsWin9x      = ( VER_PLATFORM_WIN32_NT != sInfoOS.dwPlatformId );
+    m_bNeedReboot   = false;
+    m_bAdministrative = false;
+
     m_hInst     = NULL;
     m_hMapFile  = NULL;
     m_pAppTitle = NULL;
@@ -153,7 +175,7 @@ SetupAppX::SetupAppX()
 }
 
 //--------------------------------------------------------------------------
-SetupAppX::~SetupAppX()
+SetupApp::~SetupApp()
 {
     if ( m_ppLanguageList )
     {
@@ -194,7 +216,7 @@ SetupAppX::~SetupAppX()
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::Initialize( HINSTANCE hInst )
+boolean SetupApp::Initialize( HINSTANCE hInst )
 {
     m_pCmdLine  = WIN::GetCommandLine();
     m_hInst     = hInst;
@@ -254,7 +276,7 @@ boolean SetupAppX::Initialize( HINSTANCE hInst )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::GetProfileSection( LPCTSTR pFileName, LPCTSTR pSection,
+boolean SetupApp::GetProfileSection( LPCTSTR pFileName, LPCTSTR pSection,
                                       DWORD& rSize, LPTSTR *pRetBuf )
 {
     if ( !rSize || !*pRetBuf )
@@ -299,7 +321,7 @@ boolean SetupAppX::GetProfileSection( LPCTSTR pFileName, 
LPCTSTR pSection,
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::ReadProfile()
+boolean SetupApp::ReadProfile()
 {
     boolean bRet = false;
     TCHAR *sProfilePath = 0;
@@ -404,7 +426,7 @@ boolean SetupAppX::ReadProfile()
                 delete [] pValue;
             }
 
-            m_ppLanguageList = new LanguageDataX*[ m_nLanguageCount ];
+            m_ppLanguageList = new LanguageData*[ m_nLanguageCount ];
 
             for ( int i=0; i < m_nLanguageCount; i++ )
             {
@@ -415,7 +437,7 @@ boolean SetupAppX::ReadProfile()
                 }
 
                 pCurLine += GetNameValue( pCurLine, &pName, &pValue );
-                m_ppLanguageList[ i ] = new LanguageDataX( pValue );
+                m_ppLanguageList[ i ] = new LanguageData( pValue );
                 Log( TEXT( "    Language = %s\r\n" ), pValue );
 
                 if ( m_ppLanguageList[ i ]->m_pTransform )
@@ -436,7 +458,7 @@ boolean SetupAppX::ReadProfile()
 }
 
 //--------------------------------------------------------------------------
-void SetupAppX::AddFileToPatchList( TCHAR* pPath, TCHAR* pFile )
+void SetupApp::AddFileToPatchList( TCHAR* pPath, TCHAR* pFile )
 {
     if ( m_pPatchFiles == NULL )
     {
@@ -451,7 +473,7 @@ void SetupAppX::AddFileToPatchList( TCHAR* pPath, TCHAR* 
pFile )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::GetPatches()
+boolean SetupApp::GetPatches()
 {
     boolean bRet = true;
 
@@ -502,7 +524,7 @@ boolean SetupAppX::GetPatches()
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::GetPathToFile( TCHAR* pFileName, TCHAR** pPath )
+boolean SetupApp::GetPathToFile( TCHAR* pFileName, TCHAR** pPath )
 {
     // generate the path to the file = szModuleFile + FileName
     // note: FileName is a relative path
@@ -567,7 +589,7 @@ boolean SetupAppX::GetPathToFile( TCHAR* pFileName, TCHAR** 
pPath )
 }
 
 //--------------------------------------------------------------------------
-int SetupAppX::GetNameValue( TCHAR* pLine, TCHAR** pName, TCHAR** pValue )
+int SetupApp::GetNameValue( TCHAR* pLine, TCHAR** pName, TCHAR** pValue )
 {
     int nRet = lstrlen( pLine ) + 1;
     *pValue = 0;
@@ -611,7 +633,7 @@ int SetupAppX::GetNameValue( TCHAR* pLine, TCHAR** pName, 
TCHAR** pValue )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::ChooseLanguage( long& rLanguage )
+boolean SetupApp::ChooseLanguage( long& rLanguage )
 {
     rLanguage = 0;
 
@@ -697,7 +719,7 @@ boolean SetupAppX::ChooseLanguage( long& rLanguage )
 }
 
 //--------------------------------------------------------------------------
-HMODULE SetupAppX::LoadMsiLibrary()
+HMODULE SetupApp::LoadMsiLibrary()
 {
     HMODULE hMsi = NULL;
     HKEY    hInstKey = NULL;
@@ -744,7 +766,7 @@ HMODULE SetupAppX::LoadMsiLibrary()
 }
 
 //--------------------------------------------------------------------------
-LPCTSTR SetupAppX::GetPathToMSI()
+LPCTSTR SetupApp::GetPathToMSI()
 {
     LPTSTR  sMsiPath = NULL;
     HKEY    hInstKey = NULL;
@@ -815,7 +837,7 @@ LPCTSTR SetupAppX::GetPathToMSI()
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::LaunchInstaller( LPCTSTR pParam )
+boolean SetupApp::LaunchInstaller( LPCTSTR pParam )
 {
     LPCTSTR sMsiPath = GetPathToMSI();
 
@@ -896,7 +918,7 @@ boolean SetupAppX::LaunchInstaller( LPCTSTR pParam )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::Install( long nLanguage )
+boolean SetupApp::Install( long nLanguage )
 {
     LPTSTR pTransform = NULL;
 
@@ -1013,7 +1035,7 @@ boolean SetupAppX::Install( long nLanguage )
 }
 
 //--------------------------------------------------------------------------
-UINT SetupAppX::GetError() const
+UINT SetupApp::GetError() const
 {
     UINT nErr = 0;
 
@@ -1029,7 +1051,7 @@ UINT SetupAppX::GetError() const
 }
 
 //--------------------------------------------------------------------------
-void SetupAppX::DisplayError( UINT nErr ) const
+void SetupApp::DisplayError( UINT nErr ) const
 {
     TCHAR sError[ MAX_TEXT_LENGTH ] = {0};
     TCHAR sTmp[ MAX_TEXT_LENGTH ] = {0};
@@ -1098,7 +1120,7 @@ void SetupAppX::DisplayError( UINT nErr ) const
 }
 
 //--------------------------------------------------------------------------
-long SetupAppX::GetLanguageID( long nIndex ) const
+long SetupApp::GetLanguageID( long nIndex ) const
 {
     if ( nIndex >=0 && nIndex < m_nLanguageCount )
         return m_ppLanguageList[ nIndex ]->m_nLanguageID;
@@ -1107,7 +1129,7 @@ long SetupAppX::GetLanguageID( long nIndex ) const
 }
 
 //--------------------------------------------------------------------------
-void SetupAppX::GetLanguageName( long nLanguage, LPTSTR sName ) const
+void SetupApp::GetLanguageName( long nLanguage, LPTSTR sName ) const
 {
     switch ( nLanguage )
     {
@@ -1149,7 +1171,7 @@ void SetupAppX::GetLanguageName( long nLanguage, LPTSTR 
sName ) const
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::CheckVersion()
+boolean SetupApp::CheckVersion()
 {
     boolean bRet = false;
     HMODULE hMsi = LoadMsiLibrary();
@@ -1202,7 +1224,7 @@ boolean SetupAppX::CheckVersion()
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::CheckForUpgrade()
+boolean SetupApp::CheckForUpgrade()
 {
     // When we have patch files we will never try an Minor upgrade
     if ( m_pPatchFiles ) return true;
@@ -1255,7 +1277,7 @@ boolean SetupAppX::CheckForUpgrade()
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::IsTerminalServerInstalled() const
+boolean SetupApp::IsTerminalServerInstalled() const
 {
     boolean bIsTerminalServer = false;
 
@@ -1304,7 +1326,7 @@ boolean SetupAppX::IsTerminalServerInstalled() const
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::AlreadyRunning() const
+boolean SetupApp::AlreadyRunning() const
 {
     if ( m_bIgnoreAlreadyRunning )
     {
@@ -1342,7 +1364,7 @@ boolean SetupAppX::AlreadyRunning() const
 }
 
 //--------------------------------------------------------------------------
-DWORD SetupAppX::WaitForProcess( HANDLE hHandle )
+DWORD SetupApp::WaitForProcess( HANDLE hHandle )
 {
     DWORD nResult = NOERROR;
     boolean bLoop = true;
@@ -1380,7 +1402,7 @@ DWORD SetupAppX::WaitForProcess( HANDLE hHandle )
 }
 
 //--------------------------------------------------------------------------
-void SetupAppX::Log( LPCTSTR pMessage, LPCTSTR pText ) const
+void SetupApp::Log( LPCTSTR pMessage, LPCTSTR pText ) const
 {
     if ( m_pLogFile )
     {
@@ -1412,7 +1434,7 @@ void SetupAppX::Log( LPCTSTR pMessage, LPCTSTR pText ) 
const
 }
 
 //--------------------------------------------------------------------------
-DWORD SetupAppX::GetNextArgument( LPCTSTR pStr, LPTSTR *pArg, LPTSTR *pNext,
+DWORD SetupApp::GetNextArgument( LPCTSTR pStr, LPTSTR *pArg, LPTSTR *pNext,
                                   boolean bStripQuotes )
 {
     boolean bInQuotes = false;
@@ -1471,7 +1493,7 @@ DWORD SetupAppX::GetNextArgument( LPCTSTR pStr, LPTSTR 
*pArg, LPTSTR *pNext,
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::GetCmdLineParameters( LPTSTR *pCmdLine )
+boolean SetupApp::GetCmdLineParameters( LPTSTR *pCmdLine )
 {
     int    nRet   = ERROR_SUCCESS;
     LPTSTR pStart = NULL;
@@ -1646,7 +1668,7 @@ boolean SetupAppX::GetCmdLineParameters( LPTSTR *pCmdLine 
)
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::IsAdmin()
+boolean SetupApp::IsAdmin()
 {
     if ( IsWin9x() )
         return true;
@@ -1726,7 +1748,7 @@ boolean SetupAppX::IsAdmin()
 }
 
 //--------------------------------------------------------------------------
-LPTSTR SetupAppX::CopyIniFile( LPCTSTR pIniFile )
+LPTSTR SetupApp::CopyIniFile( LPCTSTR pIniFile )
 {
     m_pTmpName = _ttempnam( TEXT( "C:\\" ), TEXT( "Setup" ) );
 
@@ -1764,7 +1786,7 @@ LPTSTR SetupAppX::CopyIniFile( LPCTSTR pIniFile )
 }
 
 //--------------------------------------------------------------------------
-void SetupAppX::ConvertNewline( LPTSTR pText ) const
+void SetupApp::ConvertNewline( LPTSTR pText ) const
 {
     int i=0;
 
@@ -1782,7 +1804,7 @@ void SetupAppX::ConvertNewline( LPTSTR pText ) const
 }
 
 //--------------------------------------------------------------------------
-LPTSTR SetupAppX::SetProdToAppTitle( LPCTSTR pProdName )
+LPTSTR SetupApp::SetProdToAppTitle( LPCTSTR pProdName )
 {
     if ( !pProdName ) return m_pAppTitle;
 
@@ -1837,7 +1859,7 @@ LPTSTR SetupAppX::SetProdToAppTitle( LPCTSTR pProdName )
 
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::IsPatchInstalled( TCHAR* pBaseDir, TCHAR* pFileName )
+boolean SetupApp::IsPatchInstalled( TCHAR* pBaseDir, TCHAR* pFileName )
 {
     if ( !m_bSupportsPatch )
         return false;
@@ -1894,7 +1916,7 @@ boolean SetupAppX::IsPatchInstalled( TCHAR* pBaseDir, 
TCHAR* pFileName )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::InstallRuntimes( TCHAR *sProductCode, TCHAR *sRuntimePath )
+boolean SetupApp::InstallRuntimes( TCHAR *sProductCode, TCHAR *sRuntimePath )
 {
     INSTALLSTATE  nRet = MsiQueryProductState( sProductCode );
     OutputDebugStringFormat( TEXT( "MsiQueryProductState returned <%d>\r\n" ), 
nRet );
@@ -1967,7 +1989,7 @@ boolean SetupAppX::InstallRuntimes( TCHAR *sProductCode, 
TCHAR *sRuntimePath )
 }
 
 //--------------------------------------------------------------------------
-boolean SetupAppX::InstallRuntimes()
+boolean SetupApp::InstallRuntimes()
 {
     TCHAR *sRuntimePath = 0;
     SYSTEM_INFO siSysInfo;
@@ -2026,7 +2048,7 @@ boolean SetupAppX::InstallRuntimes()
 
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
-LanguageDataX::LanguageDataX( LPTSTR pData )
+LanguageData::LanguageData( LPTSTR pData )
 {
     m_nLanguageID = 0;
     m_pTransform = NULL;
@@ -2045,16 +2067,10 @@ LanguageDataX::LanguageDataX( LPTSTR pData )
 }
 
 //--------------------------------------------------------------------------
-LanguageDataX::~LanguageDataX()
+LanguageData::~LanguageData()
 {
     if ( m_pTransform ) delete [] m_pTransform;
 }
 
 //--------------------------------------------------------------------------
-//--------------------------------------------------------------------------
-SetupApp* Create_SetupAppX()
-{
-    return new SetupAppX;
-}
 
-//--------------------------------------------------------------------------
diff --git a/main/desktop/win32/source/setup/setup.hxx 
b/main/desktop/win32/source/setup/setup.hxx
index 7f05aa20f0..2f82cb6b07 100644
--- a/main/desktop/win32/source/setup/setup.hxx
+++ b/main/desktop/win32/source/setup/setup.hxx
@@ -19,50 +19,29 @@
  *
  *************************************************************/
 
-
-
-#include "setup_main.hxx"
+#include <stdio.h>
 
 //--------------------------------------------------------------------------
 
-#ifdef SetupAppX
- #undef SetupAppX
-#endif
-
-#ifdef Create_SetupAppX
- #undef Create_SetupAppX
-#endif
-
-#ifdef LanguageDataX
- #undef LanguageDataX
-#endif
-
-
-#ifdef UNICODE
- #define SetupAppX          SetupAppW
- #define Create_SetupAppX   Create_SetupAppW
- #define LanguageDataX      LanguageDataW
-#else
- #define SetupAppX          SetupAppA
- #define Create_SetupAppX   Create_SetupAppA
- #define LanguageDataX      LanguageDataA
-#endif
-
-//--------------------------------------------------------------------------
-
-struct LanguageDataX
+struct LanguageData
 {
     long    m_nLanguageID;
     LPTSTR  m_pTransform;
 
-     LanguageDataX( LPTSTR pData );
-    ~LanguageDataX();
+     LanguageData( LPTSTR pData );
+    ~LanguageData();
 };
 
 //--------------------------------------------------------------------------
 
-class SetupAppX : public SetupApp
+class SetupApp
 {
+    DWORD           m_nOSVersion;
+    DWORD           m_nMinorVersion;
+    boolean         m_bIsWin9x      : 1;
+    boolean         m_bNeedReboot   : 1;
+    boolean         m_bAdministrative : 1;
+
     HINSTANCE   m_hInst;
     HANDLE      m_hMapFile;
     LPTSTR      m_pAppTitle;
@@ -90,7 +69,7 @@ class SetupAppX : public SetupApp
 
     long            m_nLanguageID;
     long            m_nLanguageCount;
-    LanguageDataX** m_ppLanguageList;
+    LanguageData** m_ppLanguageList;
 
 private:
 
@@ -120,8 +99,9 @@ private:
     boolean     InstallRuntimes( TCHAR* pProductCode, TCHAR* pFileName );
 
 public:
-                    SetupAppX();
-                   ~SetupAppX();
+    UINT            m_uiRet;
+                    SetupApp();
+    virtual        ~SetupApp();
 
     virtual boolean Initialize( HINSTANCE hInst );
     virtual boolean AlreadyRunning() const;
@@ -136,6 +116,17 @@ public:
     virtual UINT    GetError() const;
     virtual void    DisplayError( UINT nErr ) const;
 
+    void            SetError( UINT nErr ) { m_uiRet = nErr; }
+    boolean         IsWin9x() const { return m_bIsWin9x; }
+    DWORD           GetOSVersion() const { return m_nOSVersion; }
+    DWORD           GetMinorVersion() const { return m_nMinorVersion; }
+
+    boolean         IsAdminInstall() { return m_bAdministrative; }
+    void            SetAdminInstall( boolean bValue ) { m_bAdministrative = 
bValue; }
+
+    void            SetRebootNeeded( boolean bNeedReboot ) { m_bNeedReboot = 
bNeedReboot; }
+    boolean         NeedReboot() const { return m_bNeedReboot; }
+
     void            Log( LPCTSTR pMessage, LPCTSTR pText = NULL ) const;
 
     long            GetLanguageCount() const { return m_nLanguageCount; }
diff --git a/main/desktop/win32/source/setup/setup_a.cxx 
b/main/desktop/win32/source/setup/setup_a.cxx
deleted file mode 100644
index 8110005299..0000000000
--- a/main/desktop/win32/source/setup/setup_a.cxx
+++ /dev/null
@@ -1,27 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_desktop.hxx"
-
-#include "setup.cpp"
diff --git a/main/desktop/win32/source/setup/setup_main.cxx 
b/main/desktop/win32/source/setup/setup_main.cxx
index da82742216..0e7b7b797e 100644
--- a/main/desktop/win32/source/setup/setup_main.cxx
+++ b/main/desktop/win32/source/setup/setup_main.cxx
@@ -24,6 +24,9 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_desktop.hxx"
 
+#define  UNICODE    1
+#define _UNICODE    1
+
 #if defined _MSC_VER
 #pragma warning(push, 1)
 #endif
@@ -33,7 +36,7 @@
 #endif
 #include <new>
 
-#include "setup_main.hxx"
+#include "setup.hxx"
 
 //--------------------------------------------------------------------------
 
@@ -43,55 +46,13 @@ void __cdecl newhandler()
     return;
 }
 
-//--------------------------------------------------------------------------
-
-SetupApp::SetupApp()
-{
-    m_uiRet         = ERROR_SUCCESS;
-
-    // Get OS version
-    OSVERSIONINFO sInfoOS;
-
-    ZeroMemory( &sInfoOS, sizeof(OSVERSIONINFO) );
-    sInfoOS.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
-
-    GetVersionEx( &sInfoOS );
-
-    m_nOSVersion    = sInfoOS.dwMajorVersion;
-    m_nMinorVersion = sInfoOS.dwMinorVersion;
-    m_bIsWin9x      = ( VER_PLATFORM_WIN32_NT != sInfoOS.dwPlatformId );
-    m_bNeedReboot   = false;
-    m_bAdministrative = false;
-}
-
-//--------------------------------------------------------------------------
-
-SetupApp::~SetupApp()
-{
-}
-
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
 //--------------------------------------------------------------------------
 
 extern "C" int __stdcall WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, int )
 {
-    // Get OS version
-    OSVERSIONINFO sInfoOS;
-
-    ZeroMemory( &sInfoOS, sizeof(OSVERSIONINFO) );
-    sInfoOS.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
-
-    GetVersionEx( &sInfoOS );
-
-    boolean bIsWin9x = ( VER_PLATFORM_WIN32_NT != sInfoOS.dwPlatformId );
-
-    SetupApp *pSetup;
-
-    if ( bIsWin9x )
-        pSetup = Create_SetupAppA();
-    else
-        pSetup = Create_SetupAppW();
+    SetupApp *pSetup = new SetupApp();
 
     try
     {
diff --git a/main/desktop/win32/source/setup/setup_main.hxx 
b/main/desktop/win32/source/setup/setup_main.hxx
deleted file mode 100644
index bd76a92de8..0000000000
--- a/main/desktop/win32/source/setup/setup_main.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-
-#ifndef SETUP_MAIN_HXX
-#define SETUP_MAIN_HXX
-
-class SetupApp
-{
-    DWORD           m_nOSVersion;
-    DWORD           m_nMinorVersion;
-    boolean         m_bIsWin9x      : 1;
-    boolean         m_bNeedReboot   : 1;
-    boolean         m_bAdministrative : 1;
-
-public:
-    UINT            m_uiRet;
-
-                    SetupApp();
-    virtual        ~SetupApp();
-
-    virtual boolean Initialize( HINSTANCE hInst ) = 0;
-    virtual boolean AlreadyRunning() const = 0;
-    virtual boolean ReadProfile() = 0;
-    virtual boolean GetPatches() = 0;
-    virtual boolean ChooseLanguage( long& rLanguage ) = 0;
-    virtual boolean CheckVersion() = 0;
-    virtual boolean CheckForUpgrade() = 0;
-    virtual boolean InstallRuntimes() = 0;
-    virtual boolean Install( long nLanguage ) = 0;
-
-    virtual UINT    GetError() const = 0;
-    virtual void    DisplayError( UINT nErr ) const = 0;
-
-    void            SetError( UINT nErr ) { m_uiRet = nErr; }
-    boolean         IsWin9x() const { return m_bIsWin9x; }
-    DWORD           GetOSVersion() const { return m_nOSVersion; }
-    DWORD           GetMinorVersion() const { return m_nMinorVersion; }
-
-    boolean         IsAdminInstall() { return m_bAdministrative; }
-    void            SetAdminInstall( boolean bValue ) { m_bAdministrative = 
bValue; }
-
-    void            SetRebootNeeded( boolean bNeedReboot ) { m_bNeedReboot = 
bNeedReboot; }
-    boolean         NeedReboot() const { return m_bNeedReboot; }
-};
-
-SetupApp* Create_SetupAppA();
-SetupApp* Create_SetupAppW();
-
-#endif
diff --git a/main/desktop/win32/source/setup/setup_w.cxx 
b/main/desktop/win32/source/setup/setup_w.cxx
deleted file mode 100644
index 38157c1a17..0000000000
--- a/main/desktop/win32/source/setup/setup_w.cxx
+++ /dev/null
@@ -1,30 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_desktop.hxx"
-
-#define  UNICODE    1
-#define _UNICODE    1
-
-#include "setup.cpp"

Reply via email to