0
votes

I am attempting to do a complete unattended install of VS 2012. It works without forcing a reboot on some windows installations but not on others. Here is the command line that I am using:

vs_professional.exe /adminfile AdminDeployment.xml /quiet /norestart

I install .NET 4.5 before I start the VS 2012 installer. The only change I made to the AdminDeployment.xml is this:

<BundleCustomizations TargetDir="default" NoWeb="yes"/>

We have region specific images for our Windows 7 desktops. The installer works on our North American image without forcing a reboot however it forces a reboot without prompting on our EMEA image whilst installing SQL CE. Here are some messages from the SQL CE log:

MSI (s) (E0:70) [18:32:09:942]: Product: Microsoft SQL Server Compact 4.0 SP1 x64 ENU. The assembly 'Microsoft.VC90.CRT,version="9.0.30729.4148",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32"' for component '{3FA0170E-227C-37C7-BAC0-64691A992C81}' is in use. You must restart to update the assembly.

MSI (s) (E0:70) [18:32:10:911]: Product: Microsoft SQL Server Compact 4.0 SP1 x64 ENU. The assembly 'policy.9.0.Microsoft.VC90.CRT,version="9.0.30729.4148",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32-policy"' for component '{982245D9-F692-3224-BEC0-C642D74C712F}' is in use. You must restart to update the assembly.

MSI (s) (E0:70) [18:32:11:036]: Product: Microsoft SQL Server Compact 4.0 SP1 x64 ENU -- Installation operation completed successfully.

MSI (s) (E0:70) [18:32:11:051]: Windows Installer installed the product. Product Name: Microsoft SQL Server Compact 4.0 SP1 x64 ENU. Product Version: 4.0.8876.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0.

MSI (s) (E0:70) [18:32:11:067]: Value of RebootAction property is MSI (s) (E0:70) [18:32:11:067]: Windows Installer requires a system restart. Product Name: Microsoft SQL Server Compact 4.0 SP1 x64 ENU. Product Version: 4.0.8876.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Type of System Restart: 1. Reason for Restart: 1.

What is causing Windows to ignore the /norestart option in this case? I have looked at trying to pass in some of the parameters that msiexec uses such as REBOOT=ReallySuppress [which I find to be a hilarious option] but to no avail.

Why does the SQL CE installer ignore the /norestart and how can I fix it?

1

1 Answers

0
votes

The answer (from Microsoft) is that there is a bug in the SQL CE installer. The workaround is to install SQL CE and then install the rest of VS 2012. The defect will be fixed in a future version of VS.

Here is what a sample install for the SSCERuntime would look like:

<installer path>\packages\SSCE40\SSCERuntime_x64-enu.exe /q /I REBOOT=R /l*v <log file>

Here is the reply from MS:

Based on our log analysis we identified the Package that’s caused reboot: Applying execute package: ssceruntime_x64_msi, action: Install, path: C:\ProgramData\Package Cache\E33F355F5E83D93099A732E2ECE02E07818B2696\packages\SSCE40\SSCERuntime_x64-enu.exe, arguments: '"C:\ProgramData\Package Cache\E33F355F5E83D93099A732E2ECE02E07818B2696\packages\SSCE40\SSCERuntime_x64-enu.exe" /q /i /l*v The error that causes the system to restart is as mentioned below: MSI (s) (E4:34) [10:16:48:964]: Product: Microsoft SQL Server Compact 4.0 SP1 x64 ENU. The assembly 'Microsoft.VC90.CRT,version="9.0.30729.4148",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="x86",type="win32"' for component '{9DA4DC8A-9731-3F0E-8BD5-FC17CA6848AD}' is in use. You must restart to update the assembly. This is VC++ 2008 dll and it shows an another process acquires a lock on this dll and not allowing it to be updated. We identified that this is a bug with SSCERuntime where it was not authored with ExitCodes to handle such scenario. Our product team is working on it and it would be considered for resolving in the next release of Visual Studio. At present, the work around would be to first install ssceruntime.exe then install VS2012 using the command “vs_professional.exe /adminfile AdminDeployment.xml /quiet /norestart” after excluding the SQLCE component from the AdminDeployment.xml file.