vs_buildtools installer 100% CPU - visual-studio-2017

I attempted to update Visual Studio Build Tools 2017 and whenever the installer runs it runs at 100% cpu and takes an immense amount of time to work, if it all.
What I've tried:
Uninstalling the installer and visual studio 2017
Cleaning the install and rerunning it with the clean utility
Trying to run it in --quiet mode with my chosen packages
stopping my CI server and Octopus deploy
On any other machine it works quickly but on my build server it kills the cpu.

Setting the CPU priority of vs_installershell.exe to idle caused it to start working correctly.

Related

Long running unit test marked as passed fails TFS build - Object 'xxx.rem' has been disconnected or does not exist at the server.**

I want to utilize TFS and MSTest for regression testing. I have a few long running unit tests (10+ minutes). The unit tests can be run successfully locally on developer's machine inside VS2017. The unit test were shown as passed on TFS2017. However the build was marked as failed. This problem looks like a timeout to me between the executor and the unit test. Is there a way to increase the timeout setting in TFS? Any other ideas to fix the build?
2017-11-28T14:01:00.8504854Z ##[error]Error: An exception occurred while invoking executor 'executor://mstestadapter/v2': Object '/fe158daa_975c_4c26_818d_b79d26604456/ekqkfvms170qdx3bql9dzzy2_318.rem' has been disconnected or does not exist at the server.
Check what's exact version of Visual Studio 2017 do you installed on the build agent machine. Seems there's an issue on the MSTest.TestAdapter and MSTest.TestFramework on earlier version. Based on this thread the issue has been fixed and it's available in v1.1.13.
See the github bug: Run tests fail intermittently with a disconnected from server exception.
Please try below items to fix that:
Enable Clean option for Get Sources and Build step, then try it again.
Just try upgrading to the latest version of
VS 2017, then try it again.
Update the MSTest.TestAdapter and MSTest.TestFramework
to the latest version on the build agent machine.
Check if all the test projects refer to the same version of the test
adapter. If not just try moving all test projects in a solution to
refer the same version of the adapter.
Also below related issues for your reference:
https://github.com/Microsoft/testfx/issues/177
https://github.com/Microsoft/testfx/issues/194

SSDT installation issue (Failed to execute EXE package.)

I am having an issue with the SSDT installation for VS2017.
I have ran the installer three times, once basic, once following VS update and the last following some minor windows updates.
All 3 times the logs stumble at the same point, anyone know what this .exe it is trying to run is (I am running the installer with Admin...). I read somewhere for a similar error that it might be the SDK but I am able to run this locally, any nice workarounds to having this installed out there?
[29BC:A138][2017-09-26T09:28:00]i000: MainViewModel.OnPackageActionProgress: Percent completed: 50, Overall progress: 4
[1EC4:6DB0][2017-09-26T09:28:00]e000: Error 0x800703e9: Process returned error: 0x3e9
[1EC4:6DB0][2017-09-26T09:28:00]e000: Error 0x800703e9: Failed to execute EXE package.
[29BC:A138][2017-09-26T09:28:00]e000: Error 0x800703e9: Failed to configure per-machine EXE package.
[29BC:A138][2017-09-26T09:28:00]i000: MainViewModel.OnPackageAction: Install Completed for package SQL Server Analysis Services (id: Microsoft.DataTools.AnalysisServices)
[29BC:A138][2017-09-26T09:28:00]i319: Applied execute package: Microsoft.DataTools.AnalysisServices, result: 0x800703e9, restart: None
[29BC:A138][2017-09-26T09:28:00]e000: Error 0x800703e9: Failed to execute EXE package.
[1EC4:6DB0][2017-09-26T09:28:00]i351: Removing cached package: Microsoft.DataTools.AnalysisServices, from path: C:\ProgramData\Package Cache\9864EE5369359DB622D0234B6C6B7640B949140C\
[29BC:A138][2017-09-26T09:28:00]i000: MainViewModel.OnPackageActionProgress: Percent completed: 100, Overall progress: 100
[1EC4:6DB0][2017-09-26T09:28:00]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5d5d6235-5c8c-4377-9a75-1b6368850657}, resume: None, restart: None, disable resume: No
[1EC4:6DB0][2017-09-26T09:28:00]i330: Removed bundle dependency provider: {5d5d6235-5c8c-4377-9a75-1b6368850657}
[1EC4:6DB0][2017-09-26T09:28:00]i352: Removing cached bundle: {5d5d6235-5c8c-4377-9a75-1b6368850657}, from path: C:\ProgramData\Package Cache\{5d5d6235-5c8c-4377-9a75-1b6368850657}\
[1EC4:6DB0][2017-09-26T09:28:00]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5d5d6235-5c8c-4377-9a75-1b6368850657}, resume: None, restart initiated: No, disable resume: No
[29BC:A138][2017-09-26T09:28:00]e000: MainViewModel.OnBundleAction: Bundle action failed: Recursion too deep; the stack overflowed (0x800703E9)
[29BC:A138][2017-09-26T09:28:00]i399: Apply complete, result: 0x800703e9, restart: None, ba requested restart: No
[29BC:6724][2017-09-26T09:28:04]i000: MainViewModel.OpenUrl: Opening url: C:\Users\RTOMPS~1\AppData\Local\Temp\SsdtSetup\SSDT-Setup-ENU_20170926092556.log
The answer from Nick is very helpful, but I still failed at SSDT-Setup-ENU.exe /repair with the same error Error 0x800703e9: Failed to execute EXE package..
Then I tried it with a very straightforward way: (Disable UserAccountControl first)
copy SSDT-Setup-ENU.exe to c:\temp and execute SSDT-Setup-ENU.exe /layout to download a local copy of the bundle.
open C:\temp\redist and double click NDP461-KB3102438-Web.exe
open C:\temp\payload and double click vsta_setup.exe
repeat to install others...
This is the most likely link I came to when I got the same message in my log:
Applying execute package: Microsoft.DataTools.AnalysisServices, action: Install, path: C:\ProgramData\Package Cache\9864EE5369359DB622D0234B6C6B7640B949140C\VSIXBootstrapper.exe, arguments: '"C:\ProgramData\Package Cache\9864EE5369359DB622D0234B6C6B7640B949140C\VSIXBootstrapper.exe" /q /admin /instanceIds:"fc3f0e2c" /logFile:"C:\Users\a_nzchuk\AppData\Local\Temp\SsdtSetup\SSDT-Setup-ENU_20171205113839_002_Microsoft.DataTools.AnalysisServices.log" "payload\Microsoft.DataTools.AnalysisServices.vsix"'
MainViewModel.OnPackageActionProgress: Percent completed: 50, Overall progress: 17
MainViewModel.OnPackageActionProgress: Percent completed: 50, Overall progress: 17
...........
...
Error 0x800707d3: Process returned error: 0x7d3
Error 0x800707d3: Failed to execute EXE package.
Error 0x800707d3: Failed to configure per-machine EXE package.
MainViewModel.OnPackageAction: Install Completed for package SQL Server Analysis Services (id: Microsoft.DataTools.AnalysisServices)
Applied execute package: Microsoft.DataTools.AnalysisServices, result: 0x800707d3, restart: None
So I'll document my findings here.
In my start menu I had Visual Studio 2017 (SSDT). It ran OK but didn't have any BI projects available
This is what I did from an Administrator elevated command prompt:
Copied SSDT-Setup-ENU.exe into C:\temp (rather than a user specific download folder which the admin user may not have access to)
Ran SSDT-Setup-ENU.exe /layout to pre-download support and redist files (this was after a required restart)
Ran SSDT-Setup-ENU.exe /repair to try and repair the install. It gave me a button Repair that I clicked.
Ran SSDT-Setup-ENU.exe /repair again. Selected Modify. Noted that only SQL Server Database was ticked, but none of the others (SSAS, SSIS, SSRS)
Ticked SQL Server Analysis Services and pressed Modify. It proceeded to do it. Got stuck at 50% for a few minutes but eventually worked
Repeated for SQL Server Reporting Services and SQL Server Integration Services
After this, when I reran VS2017, it had the BI projects and allowed me to create a 1400 SSAS solution
Previous failed installations left VS2017 recognising that the installation was present in Visual Studio Installer. I removed the installation, restarted and the re-install was successful...
For SSDT for VS2018, Version 15.5.2
same failed at execute exe. only do
1. SSDT-Setup-ENU.exe /layout
2. SSDT-Setup-ENU.exe /repair (tick SSAS/SSRS/SSIS based on your requirement)
and this already works. I think MS also do some job for this.
EDIT: This might not be relevant any more since SSDT 15.8.2 is now out.
In my case, I was on VS 2017 15.7.2 and I can't complete the installation in SSDT 15.6. What I did was to install SSDT 2017 15.7.0 and it worked.
Make sure to uninstall previous SSDT installations via the VS installer or Control Panel also the Microsoft Reporting Services Projects and Microsoft Aanalysis Services Projects extensions first if you have them before launching the installer.
Edit: I think my Python issue is a subset of Jeff Leach's comment about repairing Visual Studio. So, I would probably look at any Visual Studio errors you had while installing and try and fix them before trying to install SSDT. For the time being I would NOT update Visual Studio or its installer to the newest versions (15.7 and 1.16) because of known bugs with SSDT 2017. They are working on a fix that will be out with 15.7.2 but it's not out yet.
Info for the edit:
https://developercommunity.visualstudio.com/content/problem/246732/ssdt-1560-installer-the-configuration-registry-key.html
I found that Daniel's method worked, but I had to install Python manually to be successful.
After successfully installing the .msis in the payload directory I tried to install the Analysis Services VSIX and I wasn't successful because the installer couldn't install Python 3.6.3. I found the page at the bottom and did the following to successfully install the Analysis, Integration, and Reporting VSIXs.
Check error logs and find what version of Python is the problem.
Manually download and install the proper Python version (my logs said 3.6.3). The name of the executable was python-3.6.3-amd64.exe and I got it from https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe
Uninstall SSDT extensions from within Visual Studio. I uninstalled all of my previously unsuccessful VSIXs.
Manually install VSIXs. This worked out for me and I am able to use all of the SSDT functionality!
Just to do control testing, I installed Reporting Services with the /repair option and was successful. I think the main issue was the Python error. I think if I would've had Python installed everything would've gone smoothly. This is very frustrating because I got this same Python "error" when first installing Visual Studio 2017 (15.6.7)...expect the "error" was just a caution and didn't prevent me from using Visual Studio. But somehow it prevented the install of SSDT 2017.
I hope none of y'all have to go through this like I did today at work!
Info that helped solve this:
https://developercommunity.visualstudio.com/content/problem/98172/packageidcpython3exex64packageactiondownloadpackag-1.html
I had the same error 0x800703e9 installing SSDT with the SSRS option checked. After trying some of the previous good suggestions unsuccessfully, including using the /layout option to download the package locally, I found that the Visual Studio installer portion of the package needed a reboot to finish. After the reboot, I was able to run Microsoft.DataTools.ReportingServices.VSIX successfully.
I have a similar problem with different error code, but the same
"Failed to execute EXE package problem".
I tried all the solution above to no avail. But, after creating an installation layout out of SSDT-Setup-ENU.exe and then trying to execute vsta_setup.exe as suggested by Daniel. I get to the underlying error message, it's has something to do with Android NDK believe it or not, and since I'm from Syria, any change to these packages should be done through a VPN connection. So the solution was to run Visual Studio 2017 installation layout, remove all these ugly android packages "Android SDKs and NDKs and even the emulators, yes, a nuclear solution since I don't have a VPN connection", and then run SSDT-Setup-ENU.exe /repair. Everything worked just fine.
I hope this might save someone's time after it wasted mine.
My installation came also with a error. I tried the several things mentioned above, but it didn't help. So I was guessing that it could be the disk space of my VirtualBox VM. I made the C: drive bigger and that was the trick.
SSDT requiere:
Hard disk space: up to 130 GB of available space, depending on features installed; typical installations require 20-50 GB of free space.

Building Visual Studio project on Windows Server 2012

I have set up a CI server for our .NET projects. To build those projects I want to use the Visual Studio executable devenv.exe.
This worked out perfectly during the "evaluation period". Now these 30 days are over, to keep using Visual Studio on my Desktop computer, I just updated my license with one mouseclick. Doing this on the server allows me to build using the GUI, but when running devenv.exe programatically with the required parameters, I am receiving an error that the evaluation license expired, even though I renewed it.
I have already tried a clean reinstall, which did not fix the issue for me. Visual Studio on the server is connected to the same account I am successfully using on my Desktop PC.
Is there a known fix for this issue?
Figured it out. The license is somehow related to the user that launches Visual Studio. So to to automatically build projects with devenv.exe, the building agent has to run under the same user account, that installed an launched Visual Studio.

MSBuild in AWS instance

I am trying a few tools by Atlassian and wanted to get the whole CI/CD working. So far, I am able to commit code in Visual Studio and have Bitbucket kick off a build request in Bamboo. However, my builds failed due to MSbuild not being in C:\Program Files (x86)\MSBuild\14.0\Bin - makes sense as the VM does not have Visual Studio installed. What is the best practice to get this working. I know I can install VS on that VM and things should work, but what if I want to be able to terminate that VM and spin off a new one(with VS on it) whenever I need a new environment? Any ideas? Are there any "community" images one can use that would include this?
I know this is old - but just in case someone else chances upon it; you don't need VS installed. Microsoft ships MSBuild as a standalone package (https://www.microsoft.com/en-us/download/details.aspx?id=40760)...

How to automate installer testing

I'm wondering if anyone has any best practices for automating the testing of installers on various machines with potentially different hardware / software profiles and by specifying various options to the installer. The idea would be that I could write "unit test like" code to set up a machine, run the installer, then test that certain things are true. Tests might look similar to:
Test:
Boot Machine without IIS
Run Installer
Assert Installer Had Errors
Test:
Boot Machine with IIS
Run Installer
Assert Installer Ran
Test_Fixture:
SetUp:
Boot Machine with IIS
Test:
Run Installer without IIS install
Assert Website Not Installed
Test:
Run Installer with IIS install
Assert Website Installed
I know I could create lots of VMs, but waiting for a VM to boot for each functional test sounds like way more work than I want. What I really want is a way to virtualize the installer environment. Any suggestions?
We have created a set of VMs and find it is very easy to manage. We run the tests for 13 different Windows installers over night. The VMs we have created our very bare bones, so it is possible to run a number of tests in parallel.
If you have the installer runnable from the command line, it's easy to have a script to call it automatically.
Then you can use a web app testing tool to see it the install was successful, like this one http://seleniumhq.org/ For this you will need an unique way to test a new install - like a page with the current version.