Introduction
Pocket PCs that run Windows CE 3.0, a version of Windows, are 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 on 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 to the need for 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; the reason could well be no time allocation for the team to come up with automated installation plans. I can assure you that one can reduce around 30-40% of post-installation issues if you plan for a proper automated installer. We will look at 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 the 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 Hardware 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 the 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 the target machine.
Answer: d) Add a registry entry of database connection string, save the organization details that the 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 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. The 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 is "SetUp Project", "Web Setup Project" and "Merge Module Project".

Display 1: Project Type dialog.
- Setup ProjectGeneric type of project that could be used for all types of applications including web-based applications.
- 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 the 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 the 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 an error message as shown in Display 5 and canceled the installation process, obviously my system had less than 5GB HD space and condition evaluated to false.
Note: For a 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 the 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 we need to associate an exe file.

Display 7: Configure the 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 wherein 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 a 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 the 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 the 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) The installer setup is now complete. Build the project and try to install it. 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!
Simon KimPosted Aug 25, 2023, 4:20 PM
How do you include SQL database so that while installing in a computer without SQL? Thanks
Simon KimPosted Aug 25, 2023, 4:16 PM
How do you add database files like
Nasser SoppoPosted Jan 24, 2018, 11:44 AM
Please how to run my application on another pc using my database.
kalu singh raoPosted Jul 9, 2016, 10:35 AM
Nice...
SharadPosted Jul 17, 2015, 3:41 AM
good one...
rajeev ranjanPosted Jan 17, 2012, 8:47 AM
SIR CREATE THE SETUP AND DEPLOYMENT COMMAND PLZ
Muazzam AliPosted Aug 8, 2011, 9:14 AM
please visit www.muazilla.blogspot.com
sandeep kumarPosted May 30, 2011, 5:26 AM
s
VictoryPosted Dec 30, 2010, 4:40 AM
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.
Akhil GuptaPosted Dec 28, 2010, 5:09 AM
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.
pughalveni RPosted Nov 2, 2010, 3:35 PM
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 ...
Hitesh BhattPosted Nov 1, 2010, 8:24 AM
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
vinayPosted Jun 6, 2010, 5:16 AM
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 ??
bidiptaPosted May 23, 2010, 3:55 AM
If any humble learner registered them like me ....for learning purpose then why you all do not supply them theirs desire material....
pritesh patelPosted Apr 24, 2010, 2:05 AM
thanks for help i need some example of this
Mandar PurohitPosted Feb 16, 2010, 11:37 AM
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?
Deepak DKPosted Jan 10, 2010, 1:58 AM
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 ===
howzillaPosted Dec 28, 2009, 10:21 PM
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.
MWNTPosted Jul 27, 2009, 4:38 AM
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
Ganesh RPosted May 14, 2009, 5:57 AM
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); } }
yousra amodiPosted Mar 13, 2009, 5:31 PM
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
kuldeep mecPosted Feb 20, 2009, 2:50 AM
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
kannan mkPosted Nov 15, 2008, 1:26 AM
Hi, i have create asp.net setup,i want to create short. how to create short. Thanks & Regards, kannan.k
Assuntha MaryPosted Feb 14, 2008, 11:09 PM
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.
pon rajPosted Jan 3, 2008, 1:30 AM
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.
swamy magamPosted Nov 17, 2007, 2:09 AM
In Set Up File How To Add a SqlServer DataBase Files and Other Windows Applications.
Beatrice TurlerPosted Nov 13, 2007, 7:03 AM
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
Ramesh KumarPosted Nov 5, 2007, 7:37 AM
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
sonali agrawalPosted Aug 14, 2007, 3:52 PM
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!!!!
KylePosted Feb 28, 2007, 5:46 PM
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!
devipriya sudharsanPosted Feb 6, 2007, 7:40 AM
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
Davinder SharmaPosted Nov 14, 2006, 5:38 PM
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
Aneesh PPosted Oct 27, 2006, 7:53 AM
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?
kumar mehtaeditedPosted Jul 26, 2006, 3:43 PMEdited Oct 30, 2006, 6:32 PM
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?
RajaSekhar ReddyPosted Jun 14, 2006, 4:53 AM
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.
RajaSekhar ReddyPosted Jun 14, 2006, 4:48 AM
Hi,