VirtualBox

Ignore:
Timestamp:
Aug 12, 2019 6:49:55 PM (5 years ago)
Author:
vboxsync
Message:

Installer/win/VBoxStub: Return 3010 if a reboot is required. Added --ignore-reboot to trigger old behaviour that supresses the status code and exits with 0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Stub/VBoxStub.cpp

    r76553 r80231  
    584584        return RTEXITCODE_SUCCESS;
    585585    if (uStatus == ERROR_SUCCESS_REBOOT_REQUIRED)
    586         return RTEXITCODE_SUCCESS; /* we currently don't indicate this */
     586    {
     587        if (g_fSilent)
     588            RTMsgInfo("Reboot required (by %s)\n", pszMsi);
     589        return (RTEXITCODE)uStatus;
     590    }
    587591
    588592    /*
     
    876880    bool fEnableSilentCert         = true;
    877881#endif
     882    bool fIgnoreReboot             = false;
    878883    char szExtractPath[RTPATH_MAX] = {0};
    879884    char szMSIArgs[_4K]            = {0};
     
    906911        { "-reinstall",         'f', RTGETOPT_REQ_NOTHING },
    907912        { "/reinstall",         'f', RTGETOPT_REQ_NOTHING },
     913        { "--ignore-reboot",    'r', RTGETOPT_REQ_NOTHING },
    908914        { "--verbose",          'v', RTGETOPT_REQ_NOTHING },
    909915        { "-verbose",           'v', RTGETOPT_REQ_NOTHING },
     
    975981                break;
    976982
     983            case 'r':
     984                fIgnoreReboot = true;
     985                break;
     986
    977987            case 'V':
    978988                ShowInfo("Version: %d.%d.%d.%d",
     
    9971007                         "--path                   - Sets the path of the extraction directory\n"
    9981008                         "--reinstall              - Forces VirtualBox to get re-installed\n"
     1009                         "--ignore-reboot          - Don't set exit code to 3010 if a reboot is required\n"
    9991010                         "--silent                 - Enables silent mode installation\n"
    1000                          "--version                - Print version number and exit\n\n"
     1011                         "--version                - Print version number and exit\n"
     1012                         "\n"
    10011013                         "Examples:\n"
    10021014                         "%s --msiparams INSTALLDIR=C:\\VBox\n"
     
    11521164                    unsigned iPackage = 0;
    11531165                    while (   iPackage < pHeader->byCntPkgs
    1154                            && rcExit == RTEXITCODE_SUCCESS)
     1166                           && (rcExit == RTEXITCODE_SUCCESS || rcExit == (RTEXITCODE)ERROR_SUCCESS_REBOOT_REQUIRED))
    11551167                    {
    1156                         rcExit = ProcessPackage(iPackage, szExtractPath,
    1157                                                 szMSIArgs, fEnableLogging);
     1168                        RTEXITCODE rcExit2 = ProcessPackage(iPackage, szExtractPath, szMSIArgs, fEnableLogging);
     1169                        if (rcExit2 != RTEXITCODE_SUCCESS)
     1170                            rcExit = rcExit2;
    11581171                        iPackage++;
    11591172                    }
     
    11931206    }
    11941207
    1195     return rcExit;
    1196 }
    1197 
     1208    return rcExit != (RTEXITCODE)ERROR_SUCCESS_REBOOT_REQUIRED || !fIgnoreReboot ? rcExit : RTEXITCODE_SUCCESS;
     1209}
     1210
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette