VirtualBox

Ignore:
Timestamp:
Nov 15, 2012 2:36:09 PM (12 years ago)
Author:
vboxsync
Message:

BUGZ:6508 Install public cert automatically if --silent option is specified; added --no-silent-cert option which disables cert install in --silent mode.

Location:
trunk/src/VBox/Installer/win/Stub
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Stub/Makefile.kmk

    r42288 r43878  
    3131VBoxStub_SOURCES = \
    3232        VBoxStub.cpp \
     33        VBoxStubCertUtil.cpp \
    3334        VBoxStub.rc
     35
     36$$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h: $(VBOX_BIN2C) $(PATH_ROOT)/src/VBox/Additions/WINNT/tools/oracle-vbox.cer
     37        $(VBOX_BIN2C) _VBoxStubPublicCert $(PATH_ROOT)/src/VBox/Additions/WINNT/tools/oracle-vbox.cer $@
     38
    3439VBoxStub_SDKS += \
    3540        VBOX_NTDLL
    3641VBoxStub_LIBS = \
    3742        $(VBOX_LIB_RUNTIME_STATIC) \
    38         $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Msi.lib
     43        $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Msi.lib \
     44        crypt32.lib
    3945
    4046VBoxStub.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
    41 VBoxStub.cpp_DEPS = $(VBOX_SVN_REV_KMK)
     47VBoxStub.cpp_DEPS  = \
     48        $(VBOX_SVN_REV_KMK) \
     49        $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
     50VBoxStub.cpp_INCS += $(VBoxStub_0_OUTDIR)
    4251
    4352# The icon location is configurable.
  • trunk/src/VBox/Installer/win/Stub/VBoxStub.cpp

    r43850 r43878  
    4949#include "resource.h"
    5050
     51#include "VBoxStubCertUtil.h"
     52#include "VBoxStubPublicCert.h"
     53
    5154#ifndef  _UNICODE
    5255#define  _UNICODE
     
    364367    bool fExtractOnly              = false;
    365368    bool fEnableLogging            = false;
     369    bool fEnableSilentCert         = true;
    366370    char szExtractPath[RTPATH_MAX] = {0};
    367371    char szMSIArgs[4096]           = {0};
     
    376380        { "-silent",            's', RTGETOPT_REQ_NOTHING },
    377381        { "/silent",            's', RTGETOPT_REQ_NOTHING },
     382        { "--no-silent-cert",   'c', RTGETOPT_REQ_NOTHING },
     383        { "-no-silent-cert",    'c', RTGETOPT_REQ_NOTHING },
     384        { "/no-silent-cert",    'c', RTGETOPT_REQ_NOTHING },
    378385        { "--logging",          'l', RTGETOPT_REQ_NOTHING },
    379386        { "-logging",           'l', RTGETOPT_REQ_NOTHING },
     
    411418                break;
    412419
     420            case 'c':
     421                fEnableSilentCert = false;
     422                break;
     423
    413424            case 'l':
    414425                fEnableLogging = true;
     
    446457                         "--extract                - Extract file contents to temporary directory\n"
    447458                         "--silent                 - Enables silent mode installation\n"
     459                         "--no-silent-cert         - Do not install VirtualBox Certificate automatically when --silent option is specified\n"
    448460                         "--path                   - Sets the path of the extraction directory\n"
    449461                         "--msiparams <parameters> - Specifies extra parameters for the MSI installers\n"
     
    544556
    545557                RTStrFree(pszPathCustomDir);
     558            }
     559
     560            /*
     561             * If --silent command line option is specified, do force public
     562             * certificate install in background (i.e. completely prevent
     563             * user interaction)
     564             */
     565            if (TRUE == g_fSilent && TRUE == fEnableSilentCert)
     566            {
     567                if (!addCertToStore(CERT_SYSTEM_STORE_LOCAL_MACHINE,
     568                                    "TrustedPublisher",
     569                                    g_ab_VBoxStubPublicCert,
     570                                    sizeof(g_ab_VBoxStubPublicCert)))
     571                {
     572                    /* Interrupt installation */
     573                    vrc = VERR_NO_CHANGE;
     574                    break;
     575                }
    546576            }
    547577
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