Changeset 496 for AE/Installer


Ignore:
Timestamp:
Feb 22, 2010, 1:00:55 AM (15 years ago)
Author:
gumby
Message:

Windows fixes.

Location:
AE/Installer/trunk/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • AE/Installer/trunk/source/installer.cpp

    r489 r496  
    11431143#ifdef WIN32
    11441144        // TODO: Fill in Windows equivalent of code below :-3
     1145        popenCommand = "replace_installer.bat";
    11451146#else
    11461147        // We can't just use '~' to mean "the home directory" because we need to check the path in C...
     
    11641165        file.close();
    11651166        file.clear();
     1167#ifdef WIN32
     1168        system(popenCommand.c_str());
     1169#else
    11661170        popen(popenCommand.c_str(), "r");
    1167        
     1171#endif
    11681172        return true; // returning 'true' tells the Installer to quit itself ASAP so it can be replaced by the process that is now running
    11691173}
     
    11961200        // TODO: Fill in Windows equivalent of code below
    11971201#ifdef WIN32
    1198         string strTrashDir = "%RECYCLE%";
     1202        string strTrashDir = "Trash\\";
    11991203#else
    12001204        FILE *fUserName = NULL;
     
    12411245                }
    12421246        }
    1243        
     1247#ifndef WIN32
    12441248        if (!*installerJustUpdated || needNewTrashDir) // prepare a new directory for deleted files to go to
    12451249        {
     
    12491253                create_directory(strTrashDir);
    12501254        }
     1255#endif
    12511256        file.close();
    12521257        file.clear();
     
    13241329                                aParentPath = aParentPath + "/";
    13251330                        }
     1331#ifndef WIN32
    13261332                        rename((path)("../" + thePath), (path)(strTrashDir + thePath));
     1333#else
     1334                        remove((path)("../" + thePath));
     1335#endif
    13271336                }
    13281337        }
     
    13471356                                if (iter1->modStringVersion > iter2->modStringVersion)
    13481357                                {
     1358#ifndef WIN32
    13491359                                        rename((path)(strPathToPackages + iter2->modStringName), (path)(strTrashDir + iter2->modStringName));
     1360#else
     1361                                        remove((path)(strPathToPackages + iter2->modStringName));
     1362#endif
    13501363                                        rename((path)(strPathToEUFNPackages + iter1->modStringName), (path)(strPathToPackages + iter1->modStringName));
    13511364                                }
  • AE/Installer/trunk/source/replace_installer.bat

    r491 r496  
    1 SLEEP 1
    2 REM %~dp is the directory of the batch file
    3 if exist %~dp\AEInstaller.exe (
    4         if exist %~dp\..\..\..\install\AEInstaller.exe (
    5                 DEL %1
     1PING -n 1 127.0.0.1>nul
     2cd "%~dp0" /D
     3if exist AEInstaller.exe (
     4        if exist .\..\..\..\install\AEInstaller.exe (
     5                DEL .\..\..\..\install\AEInstaller.exe
    66        )
    7         else (
    8                 exit
    9         )
    10         MOVE %~dp/AEInstaller.exe  %~dp\..\..\..\install\
    11         START %~dp\..\..\..\install\AEInstaller.exe
     7
     8        COPY AEInstaller.exe  .\..\..\..\install\
     9        START ..\..\..\install\AEInstaller.exe
    1210)
    13 ELSE (
    14         START %~dp\AEInstaller.exe
    15 )
Note: See TracChangeset for help on using the changeset viewer.