Advertisement

Visual Studio Questions

Started by February 03, 2014 01:37 AM
11 comments, last by Roberts91 10 years, 11 months ago
I use to program a lot. I stopped a couple years ago. Not long after that I "attempted" to get rid of visual studio off of my laptop. After uninstallaing I realized it didn't install just a couple of programs it was around 50 different ones it had installed. None of which I had ever used or needed. For some reason they didn't get uninstalled along with visual studio. A lot of things just went wrong. With trying to remove those other 50 programs that had got installed.
I spent two days trying to get rid of them. Most of that was just trying to get them to uninstall without giving me an error. The rest was trying to clean out the large amount of files / folders / registry entries that were leftover. On the second day when I was trying to clean it all out I realized I was spending way too much time trying to clean this. So I just stopped and actually barely used my laptop so it didn't matter.
All I really used in those couple of years was my Desktop computer which was more powerful and had a nice 30" 2560x1600 screen that I used with it. Perfect for playing video games, doing general purpose stuff, and watching movies. However in that time things got really cluttered. Even with the routine cleaning I did on it. Windows 8.1 had been out. So I got it for my desktop computer.
When I started to get interested in coding again a few months ago. I would be much better off just wiping the laptops hard drive and doing a fresh install of windows. And I would wipe the desktops drive at the same time and upgrade to windows 8.1.
Visual Studio 2010 was a thing of the past and it had a new version 2013. This time I tried to be intelligent about it. It seemed a lot had changed. Now instead of just express you had: For Web, For Windows, For Windows Desktop, For Team Server, and Windows Phone. So there's a for Windows and for Windows Desktop I'm confused. Oh it's for Windows Apps. Okay we don't really care for Windows Apps. Just want to create normal software.
I carefully download the right one. Carefully initialize the install process making sure to not install anything that I don't need. C++ and C# all I really needed. After finishing installing. I realized that it again had installed a ton of stuff without my permission. It installed .NET Framework 4.5 Multi-Targeting Pack have no idea what that is so probably will never need it.
Then you have three other entries that don't make sense. .NET Framework 4.5.1 Multi-Targeting Pack, .NET Framework Multi-Targeting Pack (ENU), .NET Framework 4.5.1 SDK. 1) Like I said won't need a Multi-Targeting Pack. 2) Much less two of them one with a (ENU) at the end what is the difference. 3) I thought .NET was backwards compatible so why did it need to make multiple entries for multiple versions much less when it's only 4.5 going to 4.5.1...
Then you have Microsoft Help Viewer 2.1 which is fine. Then for the next 14 entries I'm not even gonna bother listing them. They are basically all SQL Server stuff. All of which will never be used All that is needed to be done is let me have an option to install it or not. If and when I ever need it I will install it. But until then why are there 14 entries of programs of it on my computer?
I downloaded the ISO file. Opened it up and wondering can I just delete that stuff and run the installer. But would that break anything?

Even if something doesn't sound important to you, it's likely that Visual Studio needs it. If you start uninstalling portions of it, it's very likely that Visual Studio will start giving you strange errors. If you decide to do so anyway, you're on your own as far as help goes when things start acting up.

Advertisement

That SQL and .NET files are around 1GB. It doesn't sound that much to me. Just dont unistall them because they are a part of VS and like Nypyren said: "will start giving you strange errors".

"Don't gain the world and lose your soul. Wisdom is better than silver or gold." - Bob Marley

Definitely,

Don't go uninstalling anything that Visual Studio added.

If you want to get rid of some features, re-run the Visual Studio setup file or from Control Panel, Programs and Features, right click on the Visual Studio program and click Change.

It will let you remove options you might have installed, like SQL express, F# and other stuff you might not need.

But if you go messing with the VS installed components, you may end up not being able to recover, not even by reinstalling VS.

This story reminds me a lot of the old times when neat-freaks new to computers would organize all their files on their hard drives, putting the exes in one directory, the coms in another, the bats in another,and so on, until eventually breaking their installation.

The question about why is it installing multiple versions (4.5, 4.5.1, etc) is that as a developer you want them. The .net framework is not quite compatible the way you described, so you would need each one installed if you intended to use it, but even if that wasn't the case it is often good to have the older versions of libraries installed side by side on development machines. You may be called upon to build something targeting a specific library version, and since there is a difference between the versions you need the proper version. Usually these near-duplicates are kept to a minimum in the install, but you do see things like x86, x86-64, Itanium, ARM, and other platform variations show up depending on what you have installed.

Disk space is cheap, development machines are fast. If you know you won't use it and can uncheck it in the install process then do so, but if you miss something the extra installs won't hurt very much.

Yea it's not the hard disk space that I'm worried about. It wouldn't bother me if it was 20GB as I only use 115GB of the 1TB hard drive provided.

Like any program that you install on windows it manages to do a crappy job every time of cleaning up. When you hit that uninstall button it's more or less an illusion making you believe it's uninstalled but in fact it's left registry entries and files and folders thrown in every corner of the drive. I'm sure you're still wondering okay why is that a problem?

Well the problem is not very obvious until you actually have a problem. But by then it's too late. Let's run through a scenario that's pretty common. You install a driver more specifically for your video card. You every so often update it; obviously, I hope. Considering this is gamedev. Even so if you're not a game developer and/or gamer. Graphics cards have expanded their uses into more areas. Whether it's your browser, your media player, your 3D modeling program, and hell even Photoshop. A lot of programs are starting to take advantage of hardware acceleration.

Their is a bug in the driver you have installed, everything is working fine. But every time you want to enable GPU acceleration in Firefox. The entire driver just crashes. Even worse your entire system just comes to a halt. The programmers of this driver are well aware of the issue, and working hard to fix it. They have a fix and release a new driver. You download the brand new driver and install it. Excited you fire up firefox and enable GPU acceleration. Only to be disappointed. You're facing the exact same issue. You're either like 99% of the population and are furious so you immediately write to the graphics card driver team reporting to them it doesn't work. Or you're the 1% who says "hmm interesting I wonder why it isn't working let's try troubleshooting it." The 99% are in contact with the experts, and the experts try to understand exactly what went wrong. They finally tell you to try reinstalling the driver as a first method of troubleshooting. Meanwhile the 1% that are troubleshooting on their own discover reinstalling doesn't fix it. So they go onto troubleshooting step #2. Uninstall the driver, try to find what it didn't uninstall. You manage to find all the remnants of leftovers. You then try again to install the driver. And it's magically working now.

Now the other 99% are still angry, and getting angrier every time the suggestion from the expert your in contact with fails. Until the expert finally just suggests to obliterate every trace of the driver from the hard drive. Next start on a fresh install. Well now it's magically working again.

Though that's a very simplistic issue. Very quickly imagine that this problem was not only contributed by a bug in the driver. Their is also a bug in Firefox. So now you have two sources that need this treatment. Still simple. Let's imagine a more realistic scenario where you don't know what program is causing whatever the issue is.

You're the person who doesn't care about how many different programs you have installed. Even if half of them you never use. And god bless you if you have visual studio installed. Because you have 10s of different programs that are installed just by one software you have. But you never cared. Now all of a sudden you do because there is a problem. But by the time you have a problem it's too late. Because let's say even a a year goes by. And you've installed a large number of programs. Because well what's the harm?

Let's not even try to get into that scenario. What would be ironically even more painful if it was the same scenario, and you didn't actually have a problem you just wanted to upgrade to the latest version of visual studio. Well in that case good luck.

Now i'm more of a computer repair guy than a programmer. I do programming more as a hobby and really only dream to accumulate enough knowledge to program for a living. Being a computer technician. Having's seen hundreds literally if not more computers that I have worked on. Back during the days of Windows XP really malware was the biggest problem. However it's not as bad today. Instead what I see more of is problems arising from just too much crud building on the hard drive. Hell just reading tech support forums. In which most of the time their problems come from the amount of different programs installed. Also programs that were uninstalled but never cleaned out properly, etc.

Even my self have faced this problem numerous times. The only advantage I had is that I had fixed the exact same problem on a much larger scale numerous times in the past. So I needed to come up with a system that prevented this problem from occurring. Granted you can lower the frequency of this problem to close to never happening. However if you do come across that problem you will have already employed a better system. To the point where troubleshooting becomes trivial.

  1. Don't go installing everything you come across.
  2. Don't just rapidly click through the installer. Look at what it's installing, where it's installing it, and why. Guarantee you will be hard pressed to find numerous i installers that contain completely unnecessary stuff. Where a simple click on a check box can solve.
  3. Most importantly don't depend on the programmer of the software to clean up with the provided uninstaller. Clean up after every uninstall. Or every so often like during your routine maintenance.
  4. Take a look at your control panel during your routine maintenance. I would say a good rule of thumb if you have over 50 programs installed. Quickly run through the list and ask your self "Do I need or at least will ever need this program" If the answer is no then get rid of it.
  5. Have somewhat of a organized structure. I'm no where near an organized person. But any organization is better than none. It not only helps you but also the speed of your computer. If you have an easier time finding things more than likely your operating system has an easier time finding things.

For you programmers think of it as a bubble sort. It's terribly inefficient so give it some human intervention by reducing the data set (Reducing the amount of programs installed). Then reducing the number of passes it has to make (any organization is better than none).

I think it's important for a technician to not only fix a problem but prevent problems. Which if you have some simple guidelines that not only you can follow, but also the customers you help can follow. Can potentially save both parties headaches.

So with all that said. It may seem insane to other people to follow those guidelines. Though when you deal with these problems on a daily basis it becomes apparent that there's no system in place on Windows to do it properly, It really isn't in your favor. So you gotta put your own system in place to put it back in your favor. Now there's obviously a point at which you're overdoing it. Suddenly it doesn't become in favor for you any more. Which is a good reason to have guidelines to follow to not only make sure you are doing the minimum, but also not going overboard with it. Simply replacing bad habits with good habits.

Visual Studio has probably been the worse kind of software in that respect. It's even worse that it's developed by the same company that develops the operating system. Which knows how it works; to know it's flaws. Instead of using that knowledge for the benefit of the end user. They seem to exploit it in the worse way possible. Anti-virus software has been known to be notoriously hard to get rid of. Visual Studio seems to one up it in a bad way.

Apparently from the responses no one has ever attempted to uninstall visual studio. I encourage you to setup a virtual machine. Install visual studio on it. Then attempt to uninstall it. When the situation get's to the point of wondering if wiping the hard drive would be a better option. You will understand my reluctance. It honestly act's like a virus. Which was the whole reason I made this thread.

@frob To the above post. I stated that the 20 something different programs it installed were automatically installed. Without my permission. I find it hard to believe to write, compile, debug C++, and C# in visual studio, That it needs to install 14 MySQL programs to operate properly. Why they would program it in a way where each component relies on all the others to be installed. Even if that component serves no purpose to the other. It's even more important when you do have all those different components to make them modular. To function independently. I mean think about it if that's the case then if just one component fails then it's like an avalanche where it takes out all the others.

Advertisement

@frob to the above post I stated that the 20 something different programs it installed were automatically installed. Without my permission. And I find it hard to believe to write, compile, and debug C++ and C# in visual studio that it needs to install 14 MySQL programs to operate properly. If that's the case I have no idea why that would be the case. Why they would program it in a way where each component relies on all the others to be installed. Even if that component serves no purpose to the other. It's even more important when you do have all those different components to make them modular. To function independently. I mean think about it if that's the case then if just one component fails then it's like an avalanche where it takes out all the others.


I think the reason is because they have a lot of different programs which share the same components.

Let's say you install SQL Server Express first. Then you install VS2013 Express, which may include SQL Server Express. Their installers and uninstallers are set up so that they don't install redundant copies of the same thing multiple times. Unfortunately this also means that they usually don't UNINSTALL everything either, because some other program might still need them (no ref-counting I guess?). I don't even want to think about how nasty the COM dependencies in the registry are.

Visual Studio in particular has had complicated problems related to uninstall for at least the past decade due to things like this.

Like any program that you install on windows it manages to do a crappy job every time of cleaning up. When you hit that uninstall button it's more or less an illusion making you believe it's uninstalled but in fact it's left registry entries and files and folders thrown in every corner of the drive. I'm sure you're still wondering okay why is that a problem? Well the problem is not very obvious until you actually have a problem. .

.. Let's not even try to get into that scenario. What would be ironically even more painful if it was the same scenario, and you didn't actually have a problem you just wanted to upgrade to the latest version of visual studio. Well in that case good luck.

...Instead what I see more of is problems arising from just too much crud building on the hard drive. Hell just reading tech support forums. In which most of the time their problems come from the amount of different programs installed. Also programs that were uninstalled but never cleaned out properly, etc.

... Apparently from the responses no one has ever attempted to uninstall visual studio. I encourage you to setup a virtual machine. Install visual studio on it. Then attempt to uninstall it. When the situation get's to the point of wondering if wiping the hard drive would be a better option. You will understand my reluctance. It honestly act's like a virus. Which was the whole reason I made this thread.

Ah, I think I see the differences.

First, you absolutely can install multiple versions of visual studio. I have 4 versions installed on this machine right now, and frequently switch between them as needed. No uninstall is necessary.

Second, it looks as though you are talking about very long term situations. Right now long term stats for HDDs suggest a median lifetime of about six years, a bit longer for casual home users. If you have an installation of Windows that predates 2008 you should seriously consider replacing it and starting over. At four years old I'm already starting to distrust my current installation. Sure you can trust your luck and keep using the machine until you face a hardware failure, and then pray to the silicon gods that all your data is recoverable, that your backups work, and that you won't need to pay tens of thousands to a professional data recovery service... or you can replace your equipment at recommended timetables.


Visual Studio is not a typical program. It isn't like the tiny little applications that can live as a single executable. It isn't like somewhat larger apps such as Word or PowerPoint or a web browser that only needs a few contact points with the system. It isn't even like a device driver that can interact with the system in protected ways but usually sits quietly. Visual Studio is a programming environment that has tendrils all the way down into the operating system's kernel; it provides and replaces device drivers, and it includes a long list of programs that range from little self-contained executables, to OS system services, to potentially high demand server components, to deeply integrated debugging hooks.

The VS team has done quite a lot with the uninstaller. If you install visual studio and then immediately run the uninstaller your system will be basically intact. But installing and using Visual Studio is highly invasive to Windows. If you are familiar with Star Trek, it is much like the conversion to becoming a Borg; it impacts almost everything and after a very short time a complete reversal of the procedure is impossible.



A software development workstation is very different from a normal consumer's installation. This is true of many serious computer uses, such as data center computers and superpercomputer nodes. While you can run much of the same consumer software on it, that doesn't make it a good idea. I can install Steam and run all the latest games on a data center node, but I would be expected to completely wipe the machine rather than just uninstall the software when done.


Ah, I think I see the differences.

Umm... I think you misread the entire post. Yea it was a little long. So I can understand not reading it all or reading it all correctly. But you didn't get anything I was saying.

Yes you can install multiple versions of visual studio.

"No uninstall is necessary?"

I guess that verifies my assumption that you've never attempted to uninstall visual studio.

No I was not talking about very long term situations or even long term for that matter. I feel stupid doing this but I'm gonna quote myself:

But by the time you have a problem it's too late. Because let's say even a year goes by.

Implying that a year is plenty of time for an average user to have cluttered the hard drive. I've seen really lightweight users come back even a few months later. After cleaning it out for them. And seeing it cluttered again. Because they just mindlessly installed anything that offered to install or download. But that's getting way off point. Bottom line it's not measured in time. It's measured in the persons usage and what guidelines they set forth if any at all.

I probably should have included that if theirs anything of worth on your hard drive then you should do backups as part of your routine. I don't know why your backups wouldn't work. Don't think I've ever encountered a problem with my backups. I've also on many occasions done backups for clients and family. Never failed me. The only way I could see backups failing is if you stored them all in the same room and the building caught fire.

Also as long as you maintain your hard drive it shouldn't fail you. Using a program like Spinrite every once in a while. Also it's not just good for preventative maintenance I've also used it on drives that have completely failed. Where every other program simply couldn't recover the drive. The program is capable of not only recovering a dead drive but being capable of using it for a period of time. Though however I wouldn't recommend that.

And no they haven't really made any progress on the uninstaller. I mean yea you can actually uninstall it now and it will actually uninstall properly. I wouldn't really call that progress. The programs uninstaller still suffers from the inability for the programmers to clean up after themselves. You still have the remnants laying all around the hard drive that you have to go and manually delete.

Going from visual studio 2005 to 2008 to 2010 to now 2013. Slowly they started to take away the ability to customize what you could install. With visual studio 2013 you have no options what so ever. It installs everything. The only thing you get to choose is the installation directory. That's about the extent of the customization of the installer. Which is laughable. They slowly downgraded the installer into literally nothing. What I found surprising is that with a google search there's only a couple of search results that come up about it. It's like visual studio user voice I think the website is called. There are multiple instances of it on their. Here is one:

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2207833-make-the-visual-studio-installer-more-customizable

Which one of the developers responded in december with:

"Thank you for using Visual Studio and for your commitment to improving it. We are currently evaluating whether we will be able to include this into the product".

That was in december... If you can include it into this product? Why did you ever take it out? Just dumb honestly. So yea I'll probably end up attempting to delete it out of the .iso file but I have a feeling they removed the ability to do that. It will probably just re download the missing parts. In which case I could just block the connection. That would probably break it though. It would probably start shouting "No internet connection. Check your connection. Unable to proceed. Retry?" Even though it's an OFFLINE installer. Lol it's like DRM on a FREE edition of visual studio. I'll probably just end up seeing if I can't find visual studio 2010 download. Where I can actually pick what I want installed. Though that will probably still sneak in some unneeded programs. Have to end up reverting to visual studio 2003 a decade old software. Because apparently visual studio is reversing technological capability in time.

I guess my own TL;DR version would be something like this:

Visual Studio is not meant to be installed and later uninstalled, either in parts or entirely. Once you turn your machine completely into a development box it is nearly impossible to revert it to a clean state, save by erasing everything and re-installing everything from scratch.

This topic is closed to new replies.

Advertisement