This Blog is for all people working or related to the MSI and App-V.
There are lots of issues we face in everyday work regarding the technology. The sole purpose of my blog is to help others with whatever I learn. All you people out there, please help by commenting, voting, propagating and sharing my blog with your friends and colleagues but with due credit and acknowledgement to the material posted here with my name and blog url as I still do hold the copyright of the posts here.

Monday, November 28, 2011

Repackaging Microsoft Visual Studio 2010 Pro (Or any other version)

There are a lot of sites referring the installation of Microsoft Visual Studio 2010 in silent mode, but if you have a closer look, no one gives the complete information on the installation and Un-installation of the package.
Here are the steps which I followed to install Visual Studio on 32 bit as well as 64 bit machines. I assure you that you can save atleast 1 to 2 man days by taking information from here before proceeding with your packaging.
Copy the compete source to a directory and name this directory as per your standard naming convention.
Copy these files to this main directory (Explanation and details also provided later)

VS2010_Uninstall-RTM.ENU.exe

Dfusrprf.xml

User.vbs

Arpsuppress64.reg

Arpsuppress32.reg

Arpsuppresswow64.reg

ConfigurationFile.ini

Setup.vbs

Uninstall.vbs

Uninstall.bat

These files are the complete list of files which will do the trick to install and un-install the MS Visual Studio 2010 package.
You can use WISE Script Editor to create an exe for most of the part. Since I wanted to give the content in a simpler way, I am mentioning it like this in text for you.
Details of these files are:

VS2010_Uninstall-RTM.ENU.exe: This is the uninstall file provided by Microsoft and this will un-install any version of Visual Studio. You can download this from http://archive.msdn.microsoft.com/vs2010uninstall/Release/ProjectReleases.aspx?ReleaseId=4321

;SQLSERVER2008 Configuration File
[SQLSERVER2008]
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
ACTION="Uninstall"
; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, and Tools. The SQL feature will install the database engine, replication, and full-text. The Tools feature will install Management Tools, Books online, Business Intelligence Development Studio, and other shared components.
FEATURES=SQLENGINE,REPLICATION,SNAC_SDK
; Displays the command line parameters usage
HELP="False"
; Specifies that the detailed Setup log should be piped to the console.
INDICATEPROGRESS="False"
; Setup will not display any user interface.
QUIET="True"
; Setup will display progress only without any user interaction.
QUIETSIMPLE="False"
; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.
X86="False"
; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS).
INSTANCENAME="SQLEXPRESS"

Uninstall.bat: To uninstall through deployment tool, you should use this .bat file so that it removes SQL and all other components as well. I have made this batch script so that it runs on both 32 and 64 bit machines:

In Visual Studio 2012, this Dfusrprf.xml file gets created when user launches the shortcut "Dotfuscator and Analytics" for the first time and it contains the user preferences. Also to suppress automatic update (which is also a part of user preference) for Dotfuscator and Analytics this file is used.

In my installation I did not have anything installed for the first 3 GUIDs once I had performed the two other steps above. However the last GUID was valid and did uninstall a product.

It's not a big deal as I can see that by performing the steps in your script manually, I have successfully removed VS2010 from the machine, but was still curious to know what applications these GUIDs are meant to represent.