Blue Theme Orange Theme Green Theme Red Theme
 
Team Foundation Server Hosting
Home | Forums | Videos | Advertise | Certifications | Downloads | Blogs | Interviews | Jobs | Beginners | Training
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Team Foundation Server Hosting
Search :       Advanced Search »
Home » Deployment » Creating Setup and Deployment Projects in VS.NET

Creating Setup and Deployment Projects in VS.NET

This step-by-step tutorial guides you how to create a setup and deployment project using Visual Studio .NET to build a setup of your applications.

Page Views : 505358
Downloads : 0
Rating :
 Rate it
Level : Intermediate
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
Discover the top 5 tips for understanding .NET Interop
Become a Sponsor
Team Foundation Server Hosting
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

Pocket PCs which run Windows CE 3.0, a version of Windows, is designed to be as compact and modular as possible. As a result, not all the features you've come to expect on a Windows PC are present - but a surprising number are available, including the Windows Script engines. JScript and Visual Basic Scripting Edition (VBScript) are available on all Pocket PCs to provide access to the script engines in applications such as Pocket Internet Explorer .

Pocket PC ships with a version of Internet Explorer, affectionately known as PIE (Pocket Internet Explorer). PIE has a bunch of interesting features, one of which is the ability to run script code in an HTML page. Because memory is at a premium on Pocket PCs, PIE allows only one
This step-by-step tutorial guides you how to create a setup and deployment project using Visual Studio .NET to build a setup of your applications. 

Even before we could get into the VS.NET mode of creating setups we will have a quick introduction on the need of automated setups.

Section I: Introduction

I-1: Why?

The First Question I would like to ask the development community is how many among us use a proper installer for deployment. The answer could well be very few since many would prefer the manual way of installation. Many teams overlook the need for proper automated installation; reason could well be no time allocation for the team to come up with automated installation plans. I can assure that one can reduce around 30-40% of post-installation issues if you plan for a proper automated installer. We will look on how to troubleshoot the origin of these issues in the next section.

I-2: Deployment Plans?

There are many topics that have to be thought about before releasing a plan for process of installation. Some of the critical questions to these issues are as follows:

Q: a) What do you want to deploy? Is it a Web application files setup, Client Desktop
Setup or a Database installation?

Q: b) What are the pre-installation Harware configuration i.e processor settings,
RAM, disk space etc; Software packages i.e MS Office, SQL Server Enterprise edition, etc that are mandatory for you to setup?

Q: c) Which are the physical paths for your custom files, system files, Database (.dat,
mdf etc), configuration files, read-write files? This is critical today since for us to be Windows 2003 compliant there are certain rules that have to be followed in this regard.

Q: d) What do you want to configure post-installation? These may include things like
configuring database connection string in your Web.config files; register the user via web by running a custom exe file etc.

Answers to the above points lead us to a sketchy definition of our deployment plan in general. If you were to analyze and answer the above points as a checklist;
For e.g.

Answer: a) Web Application
I need to figure out an installer that can set up webprojects. This will be my INSTALLER PROJECT TYPE.

Answer: b) Intel Pentium 566 Mhz, 256 MB RAM, 9 Gb HDD; Windows 2000 Enterprise edition, MS Office 2000, SQL Server 2000, MDAC 2.6, IIS 5.0.
Validation rules before continuing with the installation are now clear. These are my LAUNCH CONDITIONS.

Answer: c) All ASP files - WebFolder under WWWRoot; DLLs, Exe's Files - Bin Folder under Application path; Config files - Config folder under Userprofile folder (Usually config is specific to users).

Folder locations are now known, these will be my FOLDER/FILE SYSTEM on target machine.

Answer: d) Add a registry entry of database connection string, save the organization details that user entered during installation in a configuration file. The post-installation action items are my CUSTOM ACTIONS on the target machine.

From the analysis that we did just now we know what are the action items. There are many installer software's available but I would like to go the MSI way using VS.NET. Advantages are:
MSI has become an international standard for setups.

VS.Net has sufficient features to create a professional setup. Cost of ownership is low.

Section II: VS.NET Setup Projects

II-1: Project Types

There are five types of setup and deployment projects in VS.NET, but three are of significant importance that are "SetUp Project", "Web Setup Project" and "Merge Module Project".



Display 1: Project Type dialog.

  • Setup Project

    Generic type of project that could be used for all type of applications including web based application.

  • Web SetUp Project

    Name suggests the type; this project type helps in creating virtual directories for web based applications during installation. 

  • Merge Module Project

    When you want to install some additional third party software like MSDE along with your application then you can use this type of project. Use a *.msm extension based merge module installation of MSDE along with your own and create a setup.

II-2 Get Started

1) Select a SetUp Project type as shown in Display 1.

2) The default File System editor will appear in the window as shown in Display 2.



Display 2: Default File System Editor

3) One can add special folders here into which they intend to add files. Just right click on the editor to view the special folder types available. These are the folders into which you can drag and drop an entire folder structure with files.

4) Click on Registry editor and navigate to that editor (Display 3). One can configure registry settings here like "Manufacturer's name", "Version No", etc.

Display 3: Using registry editor

5) There is also Launch Conditions editor available. This is of greatest use since one can pre-validate for certain rules even before installation.

Validations can include file search, registry search, Component search or a particular deployment condition like as we mentioned earlier in section 1-2-b). Consider Display 4 where I added a Launch Condition and set the property condition as "PhysicalMemory>10000" i.e. 10GB and gave a custom error message "Physical Memory is less than 10GB." After the build when I tried to install it gave me error message as shown in Display 5 and cancelled the installation process, obviously my system had less than 5GB HD space and condition evaluated to false.

Note: For List of properties available go to MSDN help and search on Property Reference. There is a launch condition "MsiNetAssemblySupport" by default. This can be removed if computer on which your application is being installed does not support CLR.

Display 4: How to add condition to Launch condition.

Display 5: Launch validation!

6) File types editor is used to associate a default command action, File description , icon and extension for your custom files. There are many occasions we create new file-types with extensions like ".rmt" or ".cpg" etc. With the arrival of Win2k3 the rules specify that all files should have a default open command and an icon association. Please refer to display 7 and 8.

Note: Command association for the file is a must, hence need to associate an exe file.

Display 7: Configure default icon and extension for the file type.

Display 8 : Open command associated with the Notepad exe.

7) User Interface editor is provided in VS.Net by default with certain additional dialogs as per the requirements (refer display 9). Add for e.g. Textboxes (A) option that provides you with 4 textbox with edit value, label and property (Display 10). This is the most important editor since this is the UI that interfaces between the user and your MSI setup. The values captured from here are used throughout the installer like in Custom actions.



Display 9: Default view of User interface editor.

Display 10: See the EditLabel, EditProperty and Editvalue attributes.

Here if we pass the Editvalue as "Orbit-e", change EditLabel as Companyname and EditProperty as "COMPANYNAME"; in my custom actions section when I read the property "COMPANYNAME" it gives me "Orbit-e". This is the editor where in one can ask user to enter Company details, some configuration information like connectionstring for database etc.

8) Custom actions editor is where one adds some custom built *.exe, *.bat, *.wsh and other script files. As an example I have added a new C# windows application project as in Display 11. The following code in display that has a "Messagebox.Show" for a command line argument received. This could very well be any other functionality instead of Messsagebox.Show.



Display 11: Entry point has arguments to receive.

Once this is done, click Custom actions editor->Install->Add Custom action. This gives a dialog as shown below in display 12. Select Application folder->Add Output->Primary Output->Ok->Ok.



Display 12:Select application folder.

Now we are ready to pass the arguments for this primary output file as shown in Display 13. Pass the string [COMPANYNAME] in the "Arguments" (Pass multiple argument with some delimiter that is not a keyed character in same manner). Check "InstallerClass" property to False. This should be true only if this is a .Net installer class that can be used to programmatically access the MSI setup instances and databases. We will not discuss this since this is out of scope from this context.

Display 13: Configure the Custom action properties

NOTE: Refer to MSDN on types of custom actions and when are they fired, since this is crucial for your cleanup process in your un/installation.

9) Installer setup is now complete. Build the project and try to install. At one point in the installation process the setup throws up a Messagebox (Display 14) with the Winform and will continue only after this form is closed, since all these form part of a single installer session. This value was the same that was entered in the User Interface editor.

Display 14: Messagebox display from the Custom exe.

Note: There is one property that helps a lot that is [TARGETDIR] that gives the path where the user selected your application to install.

Conclusion

Though I have not been able to discuss complete technical features of VS.NET to create MSI, the features discussed in this article with some individual reading are very much sufficient to create a professional MSI installer. Installers are helpful for your deployment process but are not the only thing that affects this process; proper versioning of your assembly/dll's is also of primary importance. Happy Programming!

Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
Vishnu Prasad
I am working as Associate Consultant (Technical), Orbit-e Consulting-Bangalore. Expertise in MS based technologies like VB6, ASP, COM+, SQL 2K, C#, ADO. Net, ASP. Net.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Discover the top 5 tips for understanding .NET
Ricky Leeks presents the top 5 tips for understanding .NET Interoperability. Learn more.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
Nevron Chart
Become a Sponsor
 Comments
doubts in crystal reports by RajaSekhar On June 14, 2006

Hi,

           

Reply | Email | Modify 
doubts in crystal reports by RajaSekhar On June 14, 2006

Hi,

            While runing setup file of vb.net porject in .net framework installed system, the crystal reports are not working but other functionalities are working. Plz tell me how to run crystal reports on framwork installed system.

 Thanks & Regards

B.Rajasekhar Reddy.

 

 

Reply | Email | Modify 
Re: doubts in crystal reports by kannan On November 15, 2008

Hi,

If your using crystal report,You should install merge module software,go to google type free download merge module + vb.net ,download merge module.and use your project,

How to use this merge module,user manuel given with software.

 

Regards,

kannan.k

 

 

Reply | Email | Modify 
Re: doubts in crystal reports by Akhil On December 28, 2010
How do we use it? First of all, we have to select the ‘Other Project Types’ option from the New Project. Then, we get some options: 1)Setup Project: Creates a Windows Installer project to which files can be added. This project type is the most general of all. 2)Web Setup Project: The deployment tools in Visual Studio .NET also support deployment to a Web server. Using deployment to install files on a Web server provides an advantage over simply copying files, in that deployment handles any issues with registration and configuration automatically. 3)Merge Module Project: Most commonly, merge modules are used for files that are installed to a common location (such as the System folders) and/or shared by multiple applications. For example, many ActiveX and .NET controls that are sold by third-party tool vendors come with their own merge modules so that the developer can simply merge the installation logic of the control into their setup without worrying about having to manually specify the file’s information and setup logic. 4)Setup Wizard: Creates a Windows Installer project with the aid of a wizard. 5)Cab Project: The CAB project is a Setup and Deployment project, which is used to create a .cab file containing a set of files in a compressed archive. This .cab file is used to package ActiveX controls that can be downloaded from a Web server. The CAB project reduces the size of a distribution package. Using CAB project, developers can implement Authenticode signing and specify the display name, version, level of compression, and location of dependent files. You can have a look at the Video Tutorial @ http://visiontechno.net/studymats/?cat=6 to see that how do we use Setup And Deployment Wizard.
Reply | Email | Modify 
Setup and Deployment by Muazzam On August 8, 2011
i've a tutorial for setup and deployment that might help you guys here's the link www.muazilla.blogspot.com
Reply | Email | Modify 
Nice Article in depth... how would you include .Net CLR with your setup? by kumar On July 26, 2006
I wrote a .net app and would not run on my home machine because I don't have .net clr. How would i create a package that would install .Net CLR along with your Setup.msi?
Reply | Email | Modify 
MSI by Aneesh On October 27, 2006

Hello vishnuprasad,

I am aneesh,I have one doubt in MSI(Web setup project), please help me.I need to remove the virtual directory at th etime of rollbacking.Rightnow in my coding it is deleting at the time of uninstalling.How it is possible?

Reply | Email | Modify 
regarding deployment in vb.net by Davinder On November 14, 2006

Hi

I am deploying a desktop application and adding some files to the folder in the  application folder (I also tried to add these files to custom folder also). All goes fine when the setup is installed but when i try to delete or update these files and then try to launch the application with exe .I always gets a infromation regarding install/reinstall of the application. I ve also used the solution of changing the "Condition =Not install" and "transitive=true" . But it didnt help. I am just stuck into it , so please help me out with the solution so that i can delete files from the folder without having that installer.These files are not the dependent on the working of the setup.

 

 

Thanks in advance

Davinder Sharma

Reply | Email | Modify 
How to create the folder by devipriya On February 6, 2007
Hi, Thanku for your valuable information. We created a setup and deployment in our project. It create and works fine. our doubt is how to create the folder during setup.Because in our project we have folders like xray,medicalrecords in bin\debug. how can i create the folder .There are so many special folders on ' file types on Machine'.can you please mail me the solutions if Possible Thank you, With best regards, V.S.Devipriya
Reply | Email | Modify 
RexEx Change by Kyle On February 28, 2007
The Regular expression needs one small change. It should read: Regex regex = new Regex("^GO?",RegexOptions.IgnoreCase | RegexOptions.Multiline); Instead of: Regex regex = new Regex("^GO",RegexOptions.IgnoreCase | RegexOptions.Multiline); See the difference??? It's the question mark after "GO". The question makes tells the Regular expression that is the absolute end... nothing after that. I tried and tried to get this to work with my install script and it just wouldn't work. It wouldn't work because I have tables with "GO" in the middle of the name of the table. So it would split on the name of my table. Took me all day to figure it out. Hope this helps someone!
Reply | Email | Modify 
setup wizard issue by sonali On August 14, 2007
i have a vb.net project. i addded a setup project to the solution using setup wizard. initially it worked fine. after that i reorganized the references and other files for a better directory structure. also readded the references and files in the setup project. but now the msi gets installed on other users computer (anyone except the developer's computer) and the application fails to launch. Please help me with this!!!!
Reply | Email | Modify 
Setup & Depolyment in C# .Net Windows by Ramesh On November 5, 2007
Hi, I have create a c# .Net windows application using database for MS Access 2003. How can i add prerequisites list for my MS Access 2003 databse in client machine? Thanks in advance
Reply | Email | Modify 
Find registry value before installation by Beatrice On November 13, 2007
Hi, What I would like to do with my VS.NET install is to find a value in the registry (that tells me where a product is already installed) and then install my new application in the same place (or a subdirectory thereof). Can I do this, and if so how? Thank you Beatrice
Reply | Email | Modify 
How To Add a DataBase by swamy On November 17, 2007
In Set Up File How To Add a SqlServer DataBase Files and Other Windows Applications.
Reply | Email | Modify 
Setup & Depolyment in C# .Net Windows with SQl Database by pon On January 3, 2008
hello sir, i am create one project in c#.net with sql server 2000. now i want to create a setup and install into another one client machine so i need setup with the sql database.if it possible in C#.net? if any articles plz reply me. thanks for advance. how to deploy C#.net project with SQL Server database.
Reply | Email | Modify 
How to create a setup project Visula studio 2005 by Assuntha On February 14, 2008
Sir, I created the setup project. The setup alos executed successfully. But while i click on the desktop icon its display the desktop files in windows explorer. Doubt.... While creating the setup project.. In Application foler option.. whether i have to use assembly or file.. If assembly means what type of file i have to use.. Pls guide me.
Reply | Email | Modify 
how to create shortcut Icon in asp.net by kannan On November 15, 2008
Hi, i have create asp.net setup,i want to create short. how to create short. Thanks & Regards, kannan.k
Reply | Email | Modify 
how to set privileges while setup and deploy by kuldeep On February 20, 2009


Hello Sir,


I am trying to setup and Deploy an winforms application. After setup , when i install the application , logging in as administrator, It works fine. But when I login using limited account, the application doesnot opens. Is it possible to setup a application such that once the application is installed by administrator it should be runned by all the users. Can I set such privileges while developing or while setup and deploying windows application in .net.

I will be very greatful if I get any help.

with regards
Kuldeep P

Reply | Email | Modify 
i need help by yousra On March 13, 2009
hi all i see how to make setupproject but i can't do it ,i follow the all stepsbut no result... i have program contain database like library . i am really have problems
Reply | Email | Modify 
Re: i need help by Bechir On March 18, 2009

Ok yousra,

What is the visual studio version are you using?
Reply | Email | Modify 
Accessing textbox value in Installer class through property by Ganesh On May 14, 2009
I have added a dialog TextBoxA as mentioned in the article. The EDITA1 property is also assigned to custom action that I have created. I have written a code to access the value in the text box, however i am not able to access it.The code snippet is below

[RunInstaller(true)]

public class Class1:Installer

{

public override void Install(System.Collections.IDictionary savedState)

{

base.Install(savedState);

string cdkey = Context.Parameters["PathValue"];

string res = "C:\\" + cdkey + "7.txt";

FileStream fl=File.Create(res);

}

}


Reply | Email | Modify 
need help in 5 step process by MWNT On July 27, 2009
i have to create a setup for client machines with following requirements and should install the following
1. install framework 1st
2. install SQL express
3. execute SQL queries to fill SQL data
4. install crystal report
5. install .net project

any help will be highly appriciated

thanks
Reply | Email | Modify 
Prerequisites make install package GInormous by howzilla On December 28, 2009
This evening I thought I had my install package all ready to go to put my precious software package out on the internet for sale but to my horror the download is 245Mb! The reason for this is having to include the .Net Framework 3.5 and Crystal Reports 10.5 (winform app). Is there a way to setup the deployment so my download has just MY stuff and perhaps once the install starts it 'knows' to go somewhere on the internet like MS and get the .Net Framework and then Crystal Reports? This has been a real letdown. I have promised people for weeks this would be the day and it's not because of this file size. Please help. Thanks.
Reply | Email | Modify 
Set Up and deployment project is not installing by Deepak On January 10, 2010
Hi,

I have a strange problem.
My setup and deployment project (*.msi) is not installing on a machine for the second time after uninstalling the first installation.
Environment:
Windows server 2003.

Thank you for your help.

Error by the verbose log is as below:
=== Verbose logging started: 1/6/2010  0:20:28  Build type: SHIP UNICODE 2.00.3790.00  Calling process: C:\WINDOWS\system32\msiexec.exe ===
MSI (c) (B4:B0): Resetting cached policy values
MSI (c) (B4:B0): Machine policy value 'Debug' is 0
MSI (c) (B4:B0): ******* RunEngine:
           ******* Product: C:\Test\2008Aug28\RDB.msi
           ******* Action:
           ******* CommandLine: **********
MSI (c) (B4:B0): Machine policy value 'DisableUserInstalls' is 0
MSI (c) (B4:B0): SOFTWARE RESTRICTION POLICY: Verifying package --> 'C:\Test\2008Aug28\RDB.msi' against software restriction policy
MSI (c) (B4:B0): Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (c) (B4:B0): SOFTWARE RESTRICTION POLICY: C:\Test\2008Aug28\RDB.msi is not digitally signed
MSI (c) (B4:B0): SOFTWARE RESTRICTION POLICY: C:\Test\2008Aug28\RDB.msi is permitted to run at the 'unrestricted' authorization level.
MSI (c) (B4:B0): Cloaking enabled.
MSI (c) (B4:B0): Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (B4:B0): End dialog not enabled
MSI (c) (B4:B0): Original package ==> C:\Test\2008Aug28\RDB.msi
MSI (c) (B4:B0): Package we're running from ==> C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\1f2b281.msi
MSI (c) (B4:B0): APPCOMPAT: looking for appcompat database entry with ProductCode '{3AB74374-F17E-4B61-9E4B-164A164CFFD0}'.
MSI (c) (B4:B0): APPCOMPAT: no matching ProductCode found in database.
MSI (c) (B4:B0): Machine policy value 'TransformsSecure' is 1
MSI (c) (B4:B0): APPCOMPAT: looking for appcompat database entry with ProductCode '{3AB74374-F17E-4B61-9E4B-164A164CFFD0}'.
MSI (c) (B4:B0): APPCOMPAT: no matching ProductCode found in database.
MSI (c) (B4:B0): Transforms are not secure.
MSI (c) (B4:B0): Command Line: CURRENTDIRECTORY=C:\WINDOWS\system32 CLIENTUILEVEL=0 CLIENTPROCESSID=3764
MSI (c) (B4:B0): Product Code passed to Engine.Initialize:           ''
MSI (c) (B4:B0): Product Code from property table before transforms: '{3AB74374-F17E-4B61-9E4B-164A164CFFD0}'
MSI (c) (B4:B0): Product Code from property table after transforms:  '{3AB74374-F17E-4B61-9E4B-164A164CFFD0}'
MSI (c) (B4:B0): Product not registered: beginning first-time install
MSI (c) (B4:B0): Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (c) (B4:B0): User policy value 'SearchOrder' is 'nmu'
MSI (c) (B4:B0): Adding new sources is allowed.
MSI (c) (B4:B0): Package name extracted from package path: 'RDB.msi'
MSI (c) (B4:B0): Package to be registered: 'RDB.msi'
MSI (c) (B4:B0): Note: 1: 2262 2: Error 3: -2147287038
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2729
MSI (c) (B4:B0): Note: 1: 2262 2: AdminProperties 3: -2147287038
MSI (c) (B4:B0): Machine policy value 'DisableMsi' is 1
MSI (c) (B4:B0): Machine policy value 'AlwaysInstallElevated' is 0
MSI (c) (B4:B0): User policy value 'AlwaysInstallElevated' is 0
MSI (c) (B4:B0): Product installation will be elevated because user is admin and product is being installed per-machine.
MSI (c) (B4:B0): Running product '{3AB74374-F17E-4B61-9E4B-164A164CFFD0}' with elevated privileges: Product is assigned.
MSI (c) (B4:B0): TRANSFORMS property is now:
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Application Data
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Favorites
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\NetHood
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\My Documents
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\PrintHood
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Recent
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\SendTo
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Templates
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Application Data
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Local Settings\Application Data
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\My Documents\My Pictures
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs\Administrative Tools
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs\Startup
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Desktop
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Start Menu\Programs\Administrative Tools
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Start Menu\Programs\Startup
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Start Menu\Programs
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Start Menu
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Desktop
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Templates
MSI (c) (B4:B0): SHELL32::SHGetFolderPath returned: C:\WINDOWS\Fonts
MSI (c) (B4:B0): Note: 1: 2898 2: MS Sans Serif 3: MS Sans Serif 4: 0 5: 16
MSI (c) (B4:B0): MSCOREE not loaded loading copy from system32
MSI (c) (B4:B0): Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2
MSI (c) (B4:B0): Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2
=== Logging started: 1/6/2010  0:20:28 ===
MSI (c) (B4:B0): Machine policy value 'DisableRollback' is 0
MSI (c) (B4:B0): User policy value 'DisableRollback' is 0
MSI (c) (B4:B0): Doing action: INSTALL
MSI (c) (B4:B0): Note: 1: 2262 2: ActionText 3: -2147287038
Action start 0:20:28: INSTALL.
MSI (c) (B4:B0): UI Sequence table 'InstallUISequence' is present and populated.
MSI (c) (B4:B0): Running UISequence
MSI (c) (B4:B0): Doing action: DIRCA_CheckFX
Action start 0:20:28: DIRCA_CheckFX.
MSI (c) (B4:B0): Creating MSIHANDLE (1) of type 790542 for thread 432
MSI (c) (B4:4C): Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\MSI1C.tmp, Entrypoint: CheckFX
MSI (c) (B4:D4): Cloaking enabled.
MSI (c) (B4:D4): Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (B4:D4): Connected to service for CA interface.
MSI (c) (B4:4C): Closing MSIHANDLE (1) of type 790542 for thread 432
Action ended 0:20:28: DIRCA_CheckFX. Return value 3.
MSI (c) (B4:B0): Doing action: FatalErrorForm
Action start 0:20:28: FatalErrorForm.
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
Info 2898. VSI_MS_Sans_Serif13.0_0_0, MS Sans Serif, 0
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
Info 2898. VSI_MS_Sans_Serif16.0_1_0, MS Sans Serif, 0
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
DEBUG: Error 2826:  Control BannerBmp on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, BannerBmp, to the right
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
Info 2898. VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400, MS Sans Serif, 0
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
DEBUG: Error 2826:  Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, Line1, to the right
MSI (c) (B4:90): Note: 1: 2262 2: Error 3: -2147287038
DEBUG: Error 2826:  Control Line2 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, Line2, to the right
Action 0:20:28: FatalErrorForm. Dialog created
MSI (c) (B4:90): Note: 1: 2731 2: 0
Action ended 0:20:32: FatalErrorForm. Return value 1.
Action ended 0:20:32: INSTALL. Return value 3.
MSI (c) (B4:58): Destroying RemoteAPI object.
MSI (c) (B4:D4): Custom Action Manager thread ending.
Property(C): UpgradeCode = {799F09AD-D46E-4CB6-A1CE-4DC0518111BE}
Property(C): SourceDir = C:\Test\2008Aug28\
Property(C): VSDSupportedRuntimes = 1.1.4322
Property(C): ProductName = RDB
Property(C): ProductCode = {3AB74374-F17E-4B61-9E4B-164A164CFFD0}
Property(C): ProductVersion = 1.0.0
Property(C): Manufacturer = Organisation.
Property(C): ARPCONTACT = Organisation.
Property(C): ProductLanguage = 1033
Property(C): ALLUSERS = 1
Property(C): SecureCustomProperties = NEWERPRODUCTFOUND
Property(C): RedirectedDllSupport = 2
Property(C): VersionNT = 502
Property(C): VSDNETURLMSG = This setup requires the .NET Framework version [1].  Please install the .NET Framework and run this setup again.  The .NET Framework can be obtained from the web.  Would you like to do this now?
Property(C): VSDIISMSG = This setup requires Internet Information Server 4.0 or higher and Windows NT 4.0, Windows 2000, or Windows XP.  This setup cannot be installed on Windows 95, Windows 98, or Windows Me.  Please install Internet Information Server a
nd run this setup again.
Property(C): VSDUIANDADVERTISED = This advertised application will not be installed because it might be unsafe. Contact your administrator to change the installation user interface option of the package to basic.
Property(C): VSDNETMSG = This setup requires the .NET Framework version [1].  Please install the .NET Framework and run this setup again.
Property(C): VSDINVALIDURLMSG = The specified path '[2]' is unavailable. The Internet Information Server might not be running or the path exists and is redirected to another machine. Please check the status of this virtual directory in the Internet Servic
es Manager.
Property(C): VSDVERSIONMSG = Unable to install because a newer version of this product is already installed.
Property(C): MaintenanceForm_Action = Repair
Property(C): AdminMaintenanceForm_Action = Repair
Property(C): DefaultUIFont = VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400
Property(C): ErrorDialog = ErrorDialog
Property(C): SFF_UpFldrBtn = UpFldrBtn
Property(C): SFF_NewFldrBtn = NewFldrBtn
Property(C): WelcomeForm_NextArgs = WebFolderForm
Property(C): WebFolderForm_PrevArgs = WelcomeForm
Property(C): WebFolderForm_NextArgs = ConfirmInstallForm
Property(C): ConfirmInstallForm_PrevArgs = WebFolderForm
Property(C): AdminWelcomeForm_NextArgs = AdminWebFolderForm
Property(C): AdminWebFolderForm_PrevArgs = AdminWelcomeForm
Property(C): AdminWebFolderForm_NextArgs = AdminConfirmInstallForm
Property(C): AdminConfirmInstallForm_PrevArgs = AdminWebFolderForm
Property(C): PackageCode = {35830D33-4AFF-4EC1-8720-6DF754A8E7C4}
Property(C): ProductState = -1
Property(C): PackagecodeChanging = 1
Property(C): CURRENTDIRECTORY = C:\WINDOWS\system32
Property(C): CLIENTUILEVEL = 0
Property(C): CLIENTPROCESSID = 3764
Property(C): VersionDatabase = 200
Property(C): VersionMsi = 2.00
Property(C): WindowsBuild = 3790
Property(C): ServicePackLevel = 0
Property(C): ServicePackLevelMinor = 0
Property(C): MsiNTProductType = 3
Property(C): MsiNTSuiteEnterprise = 1
Property(C): WindowsFolder = C:\WINDOWS\
Property(C): WindowsVolume = C:\
Property(C): SystemFolder = C:\WINDOWS\system32\
Property(C): System16Folder = C:\WINDOWS\system\
Property(C): RemoteAdminTS = 1
Property(C): TempFolder = C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\
Property(C): ProgramFilesFolder = C:\Program Files\
Property(C): CommonFilesFolder = C:\Program Files\Common Files\
Property(C): AppDataFolder = C:\Documents and Settings\Administrator\Application Data\
Property(C): FavoritesFolder = C:\Documents and Settings\Administrator\Favorites\
Property(C): NetHoodFolder = C:\Documents and Settings\Administrator\NetHood\
Property(C): PersonalFolder = C:\Documents and Settings\Administrator\My Documents\
Property(C): PrintHoodFolder = C:\Documents and Settings\Administrator\PrintHood\
Property(C): RecentFolder = C:\Documents and Settings\Administrator\Recent\
Property(C): SendToFolder = C:\Documents and Settings\Administrator\SendTo\
Property(C): TemplateFolder = C:\Documents and Settings\All Users\Templates\
Property(C): CommonAppDataFolder = C:\Documents and Settings\All Users\Application Data\
Property(C): LocalAppDataFolder = C:\Documents and Settings\Administrator\Local Settings\Application Data\
Property(C): MyPicturesFolder = C:\Documents and Settings\Administrator\My Documents\My Pictures\
Property(C): AdminToolsFolder = C:\Documents and Settings\All Users\Start Menu\Programs\Administrative Tools\
Property(C): StartupFolder = C:\Documents and Settings\All Users\Start Menu\Programs\Startup\
Property(C): ProgramMenuFolder = C:\Documents and Settings\All Users\Start Menu\Programs\
Property(C): StartMenuFolder = C:\Documents and Settings\All Users\Start Menu\
Property(C): DesktopFolder = C:\Documents and Settings\All Users\Desktop\
Property(C): FontsFolder = C:\WINDOWS\Fonts\
Property(C): GPTSupport = 1
Property(C): OLEAdvtSupport = 1
Property(C): ShellAdvtSupport = 1
Property(C): Intel = 15
Property(C): PhysicalMemory = 3584
Property(C): VirtualMemory = 4751
Property(C): AdminUser = 1
Property(C): LogonUser = Administrator
Property(C): UserSID = S-1-5-21-2822519658-1643510040-2253189042-500
Property(C): UserLanguageID = 1033
Property(C): ComputerName = TESTDB
Property(C): SystemLanguageID = 1033
Property(C): ScreenX = 1024
Property(C): ScreenY = 768
Property(C): CaptionHeight = 19
Property(C): BorderTop = 1
Property(C): BorderSide = 1
Property(C): TextHeight = 16
Property(C): ColorBits = 16
Property(C): TTCSupport = 1
Property(C): MsiNetAssemblySupport = 1.1.4322.573
Property(C): MsiWin32AssemblySupport = 5.2.3790.0
Property(C): Time = 0:29:30
Property(C): Date = 1/6/2010
Property(C): Privileged = 1
Property(C): USERNAME = ADIT
Property(C): COMPANYNAME = ADIT
Property(C): DATABASE = C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\1f2b281.msi
Property(C): OriginalDatabase = C:\Test\2008Aug28\RDB.msi
Property(C): SOURCEDIR = C:\Test\2008Aug28\
Property(C): VersionHandler = 2.00
Property(C): UILevel = 5
Property(C): ACTION = INSTALL
Property(C): EXECUTEACTION = INSTALL
=== Logging stopped: 1/6/2010  0:29:30 ===
MSI (c) (B4:B0): Note: 1: 1708
MSI (c) (B4:B0): Note: 1: 2262 2: Error 3: -2147287038
MSI (c) (B4:B0): Note: 1: 2262 2: Error 3: -2147287038
MSI (c) (B4:B0): Product: RDB -- Installation failed.

MSI (c) (B4:B0): Grabbed execution mutex.
MSI (c) (B4:B0): Cleaning up uninstalled install packages, if any exist
MSI (c) (B4:B0): MainEngineThread is returning 1603
=== Verbose logging stopped: 1/6/2010  0:29:30 ===
Reply | Email | Modify 
Logging in Installation by Mandar On February 16, 2010

I want to enable Installation log. Is there any facility in .Net 2008 Setup project? My setup project is  prerequisits + standard exe/dll installation + custom actions (regedit) + SQL express silent installation + db script execution
In order to troubleshoot the client installations issues, I need Installlog from them. What do I do to enable it?

Reply | Email | Modify 
thanks by pritesh On April 24, 2010
thanks for help i need some example of this
Reply | Email | Modify 
Disgusting by bidipta On May 23, 2010
If any humble learner registered them like me ....for learning purpose then why you all do not supply them theirs desire material....
Reply | Email | Modify 
Add custom forms into the setup wizard by vinay On June 6, 2010
Hi Vishnu,

Thanks for this great article !!

Can you please help me out in including custom designed forms in the setup msi. I want to create few custom forms & include them in my setup to take some very customized inputs while the setup in running.

How can this be achieved ??
Reply | Email | Modify 
Problem in Crystal report by Hitesh On November 1, 2010
Hi,
I am using VS2005, and develop a certain application in VB.NET.
Here i am also using crystal report which work accurately in the developing site.
But when we create the setup of the project,  In that the Report is not formed. A certain error is occurred there. I dont know what is the error but this report is not open in client side.
we merge all 4 dll in the setup time and also use the license key of the crystal report of VS2005 but still it give the same error there.

If any one have the solution then Please reply here.

Thanks in advance

Reply | Email | Modify 
log file missing error by pughalveni On November 2, 2010
hi...can you pl help me... if i tried to install my setup file in another system... im getting this error

Unable to locate application file 'Setup1.msi'.

See the setup log file located at 'C:\DOCUME~1\veni\LOCALS~1\Temp\VSDF8.tmp\install.log' for mo


how to clear this log file missing error..... pl reply ...
Reply | Email | Modify 
SETUP & DEPLOYMENT WIZARD by Akhil On December 28, 2010
How do we use it? First of all, we have to select the ‘Other Project Types’ option from the New Project. Then, we get some options: 1)Setup Project: Creates a Windows Installer project to which files can be added. This project type is the most general of all. 2)Web Setup Project: The deployment tools in Visual Studio .NET also support deployment to a Web server. Using deployment to install files on a Web server provides an advantage over simply copying files, in that deployment handles any issues with registration and configuration automatically. 3)Merge Module Project: Most commonly, merge modules are used for files that are installed to a common location (such as the System folders) and/or shared by multiple applications. For example, many ActiveX and .NET controls that are sold by third-party tool vendors come with their own merge modules so that the developer can simply merge the installation logic of the control into their setup without worrying about having to manually specify the file’s information and setup logic. 4)Setup Wizard: Creates a Windows Installer project with the aid of a wizard. 5)Cab Project: The CAB project is a Setup and Deployment project, which is used to create a .cab file containing a set of files in a compressed archive. This .cab file is used to package ActiveX controls that can be downloaded from a Web server. The CAB project reduces the size of a distribution package. Using CAB project, developers can implement Authenticode signing and specify the display name, version, level of compression, and location of dependent files. You can have a look at the Video Tutorial @ http://visiontechno.net/studymats/?cat=6 to see that how do we use Setup And Deployment Wizard.
Reply | Email | Modify 
How to add Custom Folder and Custom Forms in Application installation folder?? by Victory On December 30, 2010
Hi.. Its really nice article. I have created one setup of my own appliation having 10(ten) subfolders in it.and now I am adding those subfolders mannually creating one by one. Is there any option to add user folder like my subfolders into application installation folder?? and How Can I add Images or my own Forms in Installer setup?? including the Standard comments of the license aggrement??? Kindly guide.. I have never failed,I just found 1000 ways that never works. Regards, Victory.
Reply | Email | Modify 
s by sandeep On May 30, 2011
s
Reply | Email | Modify 
c# setup and deployment tutorial by Muazzam On August 8, 2011
please visit www.muazilla.blogspot.com
Reply | Email | Modify 
hello sir by rajeev On January 17, 2012
SIR CREATE THE SETUP AND DEPLOYMENT COMMAND PLZ
Reply | Email | Modify 

 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.