Ignore:
Timestamp:
11/13/2008 10:54:09 AM (4 years ago)
Author:
lowjoel
Message:

-Fixed Yield
-Fixed the TempDir? destructor
-Added exception handlers to Main, since it can't throw
-Few warning fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp

    r536 r537  
    8282            s->FileRead += readSize; 
    8383 
    84             SetProgress((double)s->FileRead / s->FileSize); 
     84            SetProgress((float)((double)s->FileRead / s->FileSize)); 
    8585        } 
    8686 
     
    104104void ExtractTempFiles(std::wstring pathToExtract) 
    105105{ 
    106     if (std::wstring(L"\\/").find(pathToExtract[pathToExtract.length() - 1])) 
     106    if (std::wstring(L"\\/").find(pathToExtract[pathToExtract.length() - 1]) == std::wstring::npos) 
    107107        pathToExtract += L"\\"; 
    108108 
     
    159159 
    160160        //Create the output file 
     161        size_t convertedChars = 0; 
    161162        wchar_t fileName[MAX_PATH]; 
    162         mbstowcs(fileName, f->Name, sizeof(fileName) / sizeof(fileName[0])); 
     163        mbstowcs_s(&convertedChars, fileName, f->Name, sizeof(fileName) / sizeof(fileName[0])); 
    163164        HANDLE destFile = CreateFileW((pathToExtract + fileName).c_str(), GENERIC_WRITE, 0, 
    164165            NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 
     
    231232    //Get a mutable version of the command line 
    232233    wchar_t* cmdLine = new wchar_t[commandLine.length() + 1]; 
    233     wcscpy(cmdLine, commandLine.c_str()); 
     234    wcscpy_s(cmdLine, commandLine.length() + 1, commandLine.c_str()); 
    234235 
    235236    //Launch the process 
    236237    STARTUPINFOW startupInfo; 
    237     PROCESS_INFORMATIONW pInfo; 
     238    PROCESS_INFORMATION pInfo; 
    238239    ::ZeroMemory(&startupInfo, sizeof(startupInfo)); 
    239240    ::ZeroMemory(&pInfo, sizeof(pInfo)); 
     
    273274 
    274275    //Get the path to the installer 
    275     if (std::wstring(L"\\/").find(tempDir[tempDir.length() - 1])) 
     276    if (std::wstring(L"\\/").find(tempDir[tempDir.length() - 1]) == std::wstring::npos) 
    276277        tempDir += L"\\"; 
    277     std::wstring commandLine('"' + tempDir); 
     278    std::wstring commandLine(L'"' + tempDir); 
    278279    commandLine += L"dotnetfx.exe\""; 
    279280 
     
    290291    SYSTEM_INFO sysInfo; 
    291292    ZeroMemory(&sysInfo, sizeof(sysInfo)); 
    292     sysInfo.cbSize = sizeof(sysInfo); 
    293293    GetSystemInfo(&sysInfo); 
    294294 
    295     if (std::wstring(L"\\/").find(tempDir[tempDir.length() - 1])) 
     295    if (std::wstring(L"\\/").find(tempDir[tempDir.length() - 1]) == std::wstring::npos) 
    296296        tempDir += L"\\"; 
    297297    switch (sysInfo.wProcessorArchitecture) 
     
    307307 
    308308    std::wstring commandLine(L"msiexec.exe /i "); 
    309     commandLine += '"' + tempDir + '"'; 
     309    commandLine += L'"' + tempDir + L'"'; 
    310310     
    311311    //And the return code is true if the process exited with 0. 
Note: See TracChangeset for help on using the changeset viewer.