<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Installation Developer</title>
	<atom:link href="http://www.installationdeveloper.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.installationdeveloper.com</link>
	<description>InstallShield Training - InstallShield Tutorials</description>
	<lastBuildDate>Fri, 18 May 2012 03:28:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ways to Keep Files from Being Overwritten, Removed or Uninstalled</title>
		<link>http://www.installationdeveloper.com/2811/ways-to-keep-files-from-being-overwritten-removed-or-uninstalled/</link>
		<comments>http://www.installationdeveloper.com/2811/ways-to-keep-files-from-being-overwritten-removed-or-uninstalled/#comments</comments>
		<pubDate>Fri, 18 May 2012 03:26:20 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Copy Files]]></category>
		<category><![CDATA[Different Ways]]></category>
		<category><![CDATA[Initial Installation]]></category>
		<category><![CDATA[Logic]]></category>
		<category><![CDATA[Lot]]></category>
		<category><![CDATA[Old Version]]></category>
		<category><![CDATA[Overwritten Files]]></category>
		<category><![CDATA[Preferred Method]]></category>
		<category><![CDATA[Product Version]]></category>
		<category><![CDATA[Rename Files]]></category>
		<category><![CDATA[Technical Support]]></category>
		<category><![CDATA[Temporary Folder]]></category>
		<category><![CDATA[Time Passes]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2811</guid>
		<description><![CDATA[A lot of times, we don&#8217;t want files that are installed to be overwritten, removed or uninstalled. There are different ways of doing this depending on your requirements. Generally, the scenario is where an old installation is being overwritten by a new installation, but the new installation is not an upgrade. Or, if you are [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of times, we don&#8217;t want files that are installed to be overwritten, removed or uninstalled.  There are different ways of doing this depending on your requirements.  Generally, the scenario is where an old installation is being overwritten by a new installation, but the new installation is not an upgrade.  Or, if you are following best practices, you are actually using an upgrade installation (the preferred method of updating an older version).</p>
<p>Let&#8217;s look at few examples.</p>
<p><strong>1) Set a Component&#8217;s Permanent and Never Overwrite properties to Yes.</strong>  When you do this, the files in the component will not be overwritten or removed under any scenario.  Okay, you can remove them manually, but I&#8217;m talking about them not being removed in an installation/uninstallation scenario.</p>
<p><strong>2) Copy Files to Temporary Folder at Beginning of an Install, Do Main Install, Then Copy Files Back at End of the Install.</strong>  This is good if you are doing an upgrade.  Or you are doing the non-best practice of installing a new version over an old version (and not using an upgrade installation).</p>
<p><strong>3) Rename Files to Another Name.</strong>  This works because the renamed files will not have been installed in the initial installation, therefore they won&#8217;t be uninstalled.</p>
<p><strong>4) Copy Files to Another Name.</strong>  This works because the copied files will not have been installed in the initial installation, therefore they won&#8217;t be uninstalled.</p>
<p><strong>5) Do a Minor Upgrade Where the Only Thing Changed is the Component&#8217;s Permanent and Never Overwrite Properties set to Yes.</strong>  This idea was suggested to me one time by InstallShield technical support.  I have to say I had never thought of this and it is a creative way of solving the problem.  If you don&#8217;t follow the logic, let&#8217;s say you installed a product that has a couple of files that are important to the product.  Perhaps they contain user settings.  Time passes and you wish you had set the component&#8217;s properties for these files to Permanent and Never Overwrite in the original installation.  You can then create a minor upgrade where the only thing changed is that component&#8217;s properties being set to Permanent and Never Overwrite.</p>
<p>Those are some suggestions for you to use next time you are faced with this situation.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2811/ways-to-keep-files-from-being-overwritten-removed-or-uninstalled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>InstallShield Dependency Scanner and Microsoft Dependency Walker</title>
		<link>http://www.installationdeveloper.com/2815/installshield-dependency-scanner-vs-microsoft-dependency-walker/</link>
		<comments>http://www.installationdeveloper.com/2815/installshield-dependency-scanner-vs-microsoft-dependency-walker/#comments</comments>
		<pubDate>Thu, 03 May 2012 16:57:17 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Dependencies]]></category>
		<category><![CDATA[Dependency Walker]]></category>
		<category><![CDATA[Dll]]></category>
		<category><![CDATA[Framework 4]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Nbsp]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Sap]]></category>
		<category><![CDATA[Scanner]]></category>
		<category><![CDATA[Scanners]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[Wizard]]></category>
		<category><![CDATA[Xxx Xxx]]></category>
		<category><![CDATA[Zip File]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2815</guid>
		<description><![CDATA[While working on a client project, I encountered an error during the installation of the SAP Crystal Reports runtime engine for .NET Framework 4.0 merge module. This post will show how to use dependency scanner tools to find the problem. Here is a screenshot of the error that was displayed: 1904 Error when installing SAP [...]]]></description>
			<content:encoded><![CDATA[<p>While working on a client project, I encountered an error during the installation of the <strong>SAP Crystal Reports runtime engine for .NET Framework 4.0</strong> merge module.  This post will show how to use dependency scanner tools to find the problem.</p>
<p>Here is a screenshot of the error that was displayed:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/dependency-scanner-vs-dependency-walker1.png" alt="1904 Error when installing SAP Crystal Reports 2011 for .NET Framework 4.0" title="1904 Error when installing SAP Crystal Reports 2011 for .NET Framework 4.0"/><br/><br />
<strong>1904 Error when installing SAP Crystal Reports 2011 for .NET Framework 4.0</strong>
</div>
<p><br/><br />
The screenshot above shows the error that is referring to missing dependencies of <strong>crtslv.dll</strong>, which is installed by the <strong>Crystal Reports</strong> merge module.</p>
<p>To find the missing dependencies, I opened the <strong>InstallShield Basic MSI</strong> project I was working on and went to the <strong>Dependency Scanners</strong> view.  Here is a screenshot of that view:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/dependency-scanner-vs-dependency-walker2.png" alt="InstallShield's Dependency Scanners view" title="InstallShield's Dependency Scanners view"/><br/><br />
<strong>InstallShield&#8217;s Dependency Scanners view</strong>
</div>
<p><br/><br />
Although there are three scanners available, I selected the <strong>Perform Static Scanning</strong> wizard, it came up, I ran it and the screenshot below shows the results:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/dependency-scanner-vs-dependency-walker3.png" alt="Dependency Scanner results" title="Dependency Scanner results"/><br/><br />
<strong>Dependency Scanner results</strong>
</div>
<p><br/><br />
The screenshot above shows a few of the results that the scanner found.  There was actually a long list.  You just select the ones you want to include and <strong>InstallShield</strong> will add them to your project.</p>
<p>I added the redistributables it recommended, rebuilt the project and tested again.  Same result, same error.</p>
<p>My next step was to use <strong>Microsoft&#8217;s Dependency Walker</strong> tool.  If you do a search for this on the web, you will find the link and be able to download it.  You will get a zip file with three files.  You just copy them to a folder and then run the tool.</p>
<p>After running <strong>Dependency Walker</strong>, I browsed to <strong>crtslv.dll</strong> and selected it.  The tool then found all the missing dependencies.  The following screenshot shows the results of the scan:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/dependency-scanner-vs-dependency-walker4.png" alt="Microsoft's Dependency Walker" title="Microsoft's Dependency Walker"/><br/><br />
<strong>Microsoft&#8217;s Dependency Walker</strong>
</div>
<p><br/><br />
The above screenshot shows the results of the scan for <strong>crtslv.dll</strong>.  You can see it lists four missing DLLs:</p>
<ul>
	<strong>
<li>ATL80.DLL</li>
<li>MSVCR80.DLL</li>
<li>GPSVC.DLL</li>
<li>IESHIMS.DLL</li>
<p></strong>
</ul>
<p>I passed this information on to the client and they addressed it on their end.  This was something they needed to take care of during the building of their product.</p>
<p><strong>Bottom Line:</strong> These two tools are slightly different from each other in how they work and in the information they provide to you.  I can&#8217;t say one is better than the other.  That&#8217;s why I use them both.  Perhaps you will too.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2815/installshield-dependency-scanner-vs-microsoft-dependency-walker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create the Smallest Installation File Possible</title>
		<link>http://www.installationdeveloper.com/2761/how-to-create-the-smallest-installation-file-possible/</link>
		<comments>http://www.installationdeveloper.com/2761/how-to-create-the-smallest-installation-file-possible/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 23:49:19 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Bootstrapper]]></category>
		<category><![CDATA[Checkout]]></category>
		<category><![CDATA[Choices]]></category>
		<category><![CDATA[Compress Files]]></category>
		<category><![CDATA[Create Exe]]></category>
		<category><![CDATA[Dialog]]></category>
		<category><![CDATA[Feature Selection]]></category>
		<category><![CDATA[Footprint]]></category>
		<category><![CDATA[Image Release]]></category>
		<category><![CDATA[Image View]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[Installation Package]]></category>
		<category><![CDATA[installshield]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Project]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Loo]]></category>
		<category><![CDATA[Nex]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Possibilities]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Setup Exe]]></category>
		<category><![CDATA[Setup Initialization]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[Uncompressed]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[Wizard]]></category>
		<category><![CDATA[Xxx]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2761</guid>
		<description><![CDATA[If I had a dollar for every time I have been asked the following question: &#8220;How do I create the smallest setup.exe possible in InstallShield?&#8221; Therefore, in this post, I will talk about how to do just that. Generally, people want a small footprint installation file because their product is downloadable from their company&#8217;s website. [...]]]></description>
			<content:encoded><![CDATA[<p>If I had a dollar for every time I have been asked the following question:<br />
<br/></p>
<div align="center"><span style="color: #0000ff; font-weight:bold;">&#8220;How do I create the smallest setup.exe possible in InstallShield?&#8221;</div>
<p><br/><br />
Therefore, in this post, I will talk about how to do just that.</p>
<p>Generally, people want a small footprint installation file because their product is downloadable from their company&#8217;s website.  There are other reasons, but they are not important.  How to do it is what&#8217;s important.</p>
<p>To get a small installer file, you need to look at two things, redistributables and compression.  Let&#8217;s look at each of these.</p>
<p>When you create a release in the <strong>Release Wizard</strong>, or manually in the <strong>Releases</strong> view, you can either choose to <strong>Compress all files</strong> or <strong>Leave files uncompressed and separate from the installation package</strong>.  Check out the screenshot below.<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/smallest-installer-file-possible-1.png" alt="Release Configuration page in the Release Wizard" title="Release Configuration page in the Release Wizard"/><br/><br />
<strong>Release Configuration page in the Release Wizard</strong>
</div>
<p><br/><br />
The screenshot above shows where I have selected the <strong>SINGLE_EXE_IMAGE</strong> release in the <strong>Releases</strong> View, and I have the <strong>Release Wizard</strong> open to the <strong>Release Configuration</strong> page.  Obviously, since this is a <strong>Single Exe</strong> release, I have chosen <strong>Compress all Files</strong>.  That&#8217;s the easy part of getting a small installer file.</p>
<p>The redistributables aspect is little more complicated in that it involves more possibilities and choices.  First, let&#8217;s revisit the <strong>Redistributables</strong> view.</p>
<p>In the <strong>Redistributables</strong> view of an <strong>InstallShield</strong> project, there is a collection of prerequisites, merge modules and objects.  One or more can be added to your project.  In fact, you can have any combination of prerequisites, merge modules and objects.</p>
<p><strong>Prerequisites</strong> can be installed by the <strong>Setup.exe</strong> bootstrapper or can be installed after feature selection, during the main installation.</p>
<p><strong>Merge Modules</strong> are generally installed during the main installation.  But I swear I have sometimes seen them being installed while the Preparing to Install dialog is displayed.</p>
<p>InstallShield <strong>Objects</strong> are always installed during the main installation.</p>
<p>Have a look at the next screenshot.<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/smallest-installer-file-possible-2.png" alt="Redistributables view in an InstallShield project" title="Redistributables view in an InstallShield project"/><br/><br />
<strong>Redistributables view in an InstallShield project</strong>
</div>
<p><br/><br />
The screenshot above shows the <strong>Redistributables</strong> view and as you can see, there are a variety of Prerequisites, Merge Modules and Objects available.</p>
<p>With <strong>Merge Modules</strong> and <strong>Objects</strong> added to a <strong>Single Exe</strong> release (Setup.exe), you don&#8217;t have a choice.  These redistributables will be compressed into your single Setup.exe file.  However, with <strong>Prerequisites</strong>, you do have a choice.</p>
<p>Take a look at the screenshot below:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/smallest-installer-file-possible-3.png" alt="Prerequisites come in two types" title="Prerequisites come in two types"/><br/><br />
<strong>Prerequisites come in two types</strong>
</div>
<p><br/><br />
The <strong>.NET 4.0 prerequisite</strong> I have marked with a <strong>1</strong> is a <strong>full prerequisite</strong>.  That means the entire .NET Framework 4.0 prerequisite is going to be compressed into your Single Exe file.  Of course, this will result in a bigger file.</p>
<p>The <strong>.NET 4.0 prerequisite</strong> I have marked with a <strong>2</strong> is a <strong>web download prerequisite</strong>.  That means .NET 4.0 won&#8217;t be compressed into your Single Exe, but instead downloaded from the Microsoft website during your product&#8217;s installation.  When you choose web download prerequisites, the end result is a much smaller installation file.</p>
<p>At this point, you may be thinking that you will just always choose the web download version of a prerequisite.  The problem is that not all prerequisites have both full and web download versions.  So, what do you do?  Well, don&#8217;t give up yet.  There is still hope.</p>
<p>Check out the screenshot below.<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/smallest-installer-file-possible-4.png" alt="InstallShield Prerequisites Location property" title="InstallShield Prerequisites Location property"/><br/><br />
<strong>InstallShield Prerequisites Location property</strong>
</div>
<p><br/><br />
In the screenshot above, I am back in the <strong>Releases</strong> view, I have again selected the <strong>Single Exe</strong> release and have clicked the <strong>Setup.exe</strong> tab.  Now, look at the <strong>InstallShield Prerequisites Location</strong> property.  I have set it to <strong>Download From The Web</strong>.</p>
<p>When you use <strong>Download From the Web</strong>, all of the InstallShield prerequisite files included in your project will be downloaded from the web, if it is necessary.  Obviously, if a prerequisite is already installed on a user&#8217;s machine, it won&#8217;t be installed again.</p>
<p>To continue, each individual prerequisite will be downloaded from the URL specified in the InstallShield prerequisite (.prq) file for each prerequisite.  This option overrides the locations specified in the <strong>Redistributables</strong> view for each InstallShield prerequisite&#8217;s properties.</p>
<p>You should now have all the information you need to produce the smallest <strong>Setup.exe</strong> file possible.  To summarize, here&#8217;s what you need to do:</p>
<ol>
<li>Create a <strong>Single Exe</strong> release that includes <strong>Setup.exe</strong></li>
<li>Choose <strong>Compress all files</strong> on the <strong>Release Configuration</strong> page of the Release Wizard.</li>
<li>When possible, choose <strong>Prerequisites</strong> instead of <strong>Merge Modules</strong> or <strong>Objects</strong>.</li>
<li>In the <strong>Releases</strong> view, select your <strong>Single Exe</strong> release, click the <strong>Setup.exe</strong> tab and set the <strong>InstallShield Prerequisites Location</strong> property to <strong>Download From The Web</strong>.</li>
</ol>
<p>Now you know what to do in order to get the smallest installation file possible.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2761/how-to-create-the-smallest-installation-file-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Change the Text in the &#8216;Preparing to Install&#8230;&#8217; Dialog</title>
		<link>http://www.installationdeveloper.com/2744/how-to-change-the-text-in-the-preparing-to-install-dialog/</link>
		<comments>http://www.installationdeveloper.com/2744/how-to-change-the-text-in-the-preparing-to-install-dialog/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 19:45:22 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Disk 1]]></category>
		<category><![CDATA[Disk1 Folder]]></category>
		<category><![CDATA[English Language]]></category>
		<category><![CDATA[Hex]]></category>
		<category><![CDATA[Hexadecimal Representation]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Knowledge Base Article]]></category>
		<category><![CDATA[Knowledge Base Article That]]></category>
		<category><![CDATA[Language Id]]></category>
		<category><![CDATA[Launcher]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Nbsp]]></category>
		<category><![CDATA[Numerical Language]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Resource File]]></category>
		<category><![CDATA[Resource Files]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Setup Exe]]></category>
		<category><![CDATA[String Resource]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2744</guid>
		<description><![CDATA[A reader told me about a Knowledge Base article that I think most people would want to be aware of. It is possible to change the strings in the &#8216;Preparing to Install&#8230;&#8217; dialog that is displayed by the Setup.exe bootstrapper. Now, this article pertains to both the Basic MSI and InstallScript MSI projects. Here is [...]]]></description>
			<content:encoded><![CDATA[<p>A reader told me about a <strong>Knowledge Base</strong> article that I think most people would want to be aware of.</p>
<p>It is possible to change the strings in the &#8216;Preparing to Install&#8230;&#8217; dialog that is displayed by the <strong>Setup.exe</strong> bootstrapper.  Now, this article pertains to both the <strong>Basic MSI</strong> and <strong>InstallScript MSI</strong> projects.</p>
<p>Here is a screenshot of the dialog:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/preparing-to-install-1.png" alt="Changing the Text in the Preparing to Install Dialog" title="Changing the Text in the Preparing to Install Dialog"/><br/><br />
<strong>The Preparing to Install dialog displayed by the Setup.exe bootstrapper</strong>
</div>
<p><br/><br />
If you look in your installation project, you will find that there are no <strong>InstallScript</strong> or <strong>MSI</strong> settings backup up this dialog.</p>
<p>The strings that appear in the dialog are contained in the string resource files that are created in the release&#8217;s <strong>Disk1</strong> folder.  A separate string resource file is created for each language that your installation supports.  The name of each resource file is based on the hexadecimal representation of the numerical <strong>language ID</strong> for a given language.  For example, a project that supports <strong>English</strong> has a language ID of <strong>1033 decimal</strong>.  Therefore, a file named <strong>0&#215;0409.ini</strong> (0409 hex is 1033 decimal) will be created in that folder.</p>
<p>Here is a screenshot of the <strong>Disk1</strong> folder in an <strong>English</strong> language <strong>Basic MSI</strong> project:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/preparing-to-install-2.png" alt="The Disk1 folder in an English language Basic MSI project" title="The Disk1 folder in an English language Basic MSI project"/><br/><br />
<strong>The Disk1 folder in an English language Basic MSI project</strong>
</div>
<p><br/><br />
I have circled the language file you should modify if your project is in English.</p>
<p>Here&#8217;s a link to the original <strong>Knowledge Base</strong> article:</p>
<p><a href="http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q106278"><strong>Q106278: INFO: Modifying Text In &#8216;Preparing To Install&#8230;&#8217; Dialog</strong></a></p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2744/how-to-change-the-text-in-the-preparing-to-install-dialog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add the .NET 2.0 Framework to Your InstallShield Project</title>
		<link>http://www.installationdeveloper.com/2730/add-the-net-2-0-framework-to-your-installshield-project/</link>
		<comments>http://www.installationdeveloper.com/2730/add-the-net-2-0-framework-to-your-installshield-project/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 01:20:20 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Project]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Many People]]></category>
		<category><![CDATA[Net Framework]]></category>
		<category><![CDATA[Reboot]]></category>
		<category><![CDATA[Redistributable]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Setup Exe]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[Wizard]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2730</guid>
		<description><![CDATA[Many people have scratched their heads trying to figure out how to add the .NET Framework 2.0 to their InstallShield installation project. They look and look in the Redistributables view, but it is nowhere to be found. That&#8217;s because it&#8217;s not there. You have to go to the Release Wizard. Here is a screenshot of [...]]]></description>
			<content:encoded><![CDATA[<p>Many people have scratched their heads trying to figure out how to add the <strong>.NET Framework 2.0</strong> to their <strong>InstallShield</strong> installation project.  They look and look in the <strong>Redistributables</strong> view, but it is nowhere to be found.</p>
<p>That&#8217;s because it&#8217;s not there.  You have to go to the <strong>Release Wizard</strong>.</p>
<p>Here is a screenshot of the <strong>.NET Framework</strong> panel in the <strong>Release Wizard</strong>:<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/add-net-framework-20.png" alt="Add the .NET Framework 2.0 redistributable from the Release Wizard" title="Add the .NET Framework 2.0 redistributable from the Release Wizard"/><br/><br />
<strong>Add the .NET Framework 2.0 redistributable from the Release Wizard</strong>
</div>
<p><br/><br />
Here, I have selected to include the 2.0 version of the framework, it will be extracted from Setup.exe (this example is a <strong>Single Exe</strong> release), and we are delaying reboot until after the installation completes.</p>
<p>Next time, you&#8217;ll know where to find it.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2730/add-the-net-2-0-framework-to-your-installshield-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Version of Windows Installer to Include for Windows 7</title>
		<link>http://www.installationdeveloper.com/2723/what-version-of-windows-installer-to-include-for-windows-7/</link>
		<comments>http://www.installationdeveloper.com/2723/what-version-of-windows-installer-to-include-for-windows-7/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 19:00:52 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Confusion]]></category>
		<category><![CDATA[Deep Breath]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Project]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[R2]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[windows installer]]></category>
		<category><![CDATA[Windows Server]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2723</guid>
		<description><![CDATA[There&#8217;s a bit of confusion with new users of InstallShield when it comes to including the Windows Installer for Windows 7. First off, the latest version of the Windows Installer is 5.0 and if you look in the Redistributables view of an InstallShield project, you will not find it anywhere. Moreover, you can not find [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a bit of confusion with new users of <strong>InstallShield</strong> when it comes to including the <strong>Windows Installer</strong> for <strong>Windows 7</strong>.</p>
<p>First off, the latest version of the <strong>Windows Installer</strong> is 5.0 and if you look in the <strong>Redistributables</strong> view of an InstallShield project, you will not find it anywhere.  Moreover, you can not find any version of the <strong>Windows Installer</strong> that is marked for use with <strong>Windows 7</strong>.  Why is that?</p>
<p>It&#8217;s because both <strong>Windows 7</strong> and <strong>Windows Server 2008 R2</strong> include <strong>Windows Installer 5.0</strong>.  So, when you create an installation that works on <strong>Windows 7</strong>, you don&#8217;t need the <strong>Windows Installer</strong>.  It&#8217;s already there.</p>
<p>So, relax man.  Take a deep breath.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2723/what-version-of-windows-installer-to-include-for-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Check if a Database Exists in An InstallShield Installation</title>
		<link>http://www.installationdeveloper.com/2706/how-to-check-if-a-database-exists-in-an-installshield-installation/</link>
		<comments>http://www.installationdeveloper.com/2706/how-to-check-if-a-database-exists-in-an-installshield-installation/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 02:56:03 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Connection String]]></category>
		<category><![CDATA[Connection Strings]]></category>
		<category><![CDATA[Custom Actions]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Lot]]></category>
		<category><![CDATA[Messagebox]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Server Connection]]></category>
		<category><![CDATA[Sql Database]]></category>
		<category><![CDATA[Sql Expert]]></category>
		<category><![CDATA[Sql Server Database]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2706</guid>
		<description><![CDATA[In a recent installation project, I had the need to check if a SQL Server database already existed. This was in a Basic MSI project where I decided to use an InstallScript custom action. Now, if you read this blog a lot, you know I write a lot of InstallScript custom actions. The main reason [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent installation project, I had the need to check if a <strong>SQL Server</strong> database already existed.  This was in a <strong>Basic MSI</strong> project where I decided to use an <strong>InstallScript</strong> custom action.</p>
<p>Now, if you read this blog a lot, you know I write a lot of <strong>InstallScript</strong> custom actions.  The main reason is I&#8217;m lazy and if I can do what I need to do in <strong>InstallShield</strong>, I will.  However, this might have been a little easier in a <strong>Managed Code Custom Action</strong> written in <strong>C#</strong> or <strong>Visual Basic.NET</strong>.  It&#8217;s debatable.</p>
<p>Here is the actual <strong>InstallScript</strong> code that I used.  It&#8217;s nothing revolutionary.  The reason I am sharing it is that I want you to notice how I am building the connection string.  SQL Server connection strings are different in <strong>32-bit</strong> than they are in <strong>64-bit</strong>.  I&#8217;m not a SQL Server expert, but I have learned that.</p>
<p>Here&#8217;s the code.<br />
<br/></p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/check-database-exists-1.png" alt="Using an InstallScript custom action to check if a database exists" title="Using an InstallScript custom action to check if a database exists"/><br/><br />
<strong>Using an InstallScript custom action to check if a database exists</strong>
</div>
<p><br/><br />
You will notice in the code that there are several <strong>MessageBox</strong> calls.  These are just for debugging purposes.</p>
<p>Also notice the <strong>WsGetProperty</strong> calls.  This is just my version of the <strong>MsiGetProperty</strong> function.  InstallShield changed how that function works in the <strong>2012 version</strong>, so I created my own function to account for that.</p>
<p>Hope this helps.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2706/how-to-check-if-a-database-exists-in-an-installshield-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Ensure That UI Elements Are Available During an Uninstall</title>
		<link>http://www.installationdeveloper.com/2679/how-to-ensure-that-ui-elements-are-available-during-an-uninstall/</link>
		<comments>http://www.installationdeveloper.com/2679/how-to-ensure-that-ui-elements-are-available-during-an-uninstall/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 18:04:26 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Add Remove]]></category>
		<category><![CDATA[Choices]]></category>
		<category><![CDATA[Dialogs]]></category>
		<category><![CDATA[Guarantee]]></category>
		<category><![CDATA[Information View]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[Installshield Project]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Instances]]></category>
		<category><![CDATA[Learning Curve]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Message Boxes]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Nuts]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Software Product]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[Two Ways]]></category>
		<category><![CDATA[Ui Elements]]></category>
		<category><![CDATA[Uninstall]]></category>
		<category><![CDATA[Uninstall Software]]></category>
		<category><![CDATA[Uninstall Windows]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[windows installer]]></category>
		<category><![CDATA[Windows Versions]]></category>
		<category><![CDATA[Xxx]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2679</guid>
		<description><![CDATA[There are times when you want to display UI elements during an uninstall. When I say UI elements, I&#8217;m referring to dialog boxes and/or message boxes. Now, that&#8217;s your plan, but when you get into it, you find there are instances where this isn&#8217;t happening. Well, why not? I have been through this before and [...]]]></description>
			<content:encoded><![CDATA[<p>There are times when you want to display UI elements during an uninstall.  When I say UI elements, I&#8217;m referring to dialog boxes and/or message boxes.  Now, that&#8217;s your plan, but when you get into it, you find there are instances where this isn&#8217;t happening.  Well, why not?  I have been through this before and will tell you how to guarantee that UI elements are shown during an uninstall.</p>
<p>First off, let&#8217;s refresh our memory on how we uninstall a software product.  To do this, we go to <strong>Add/Remove Programs</strong> (<strong>Programs and Features</strong> in later Windows versions), select the product from the list, and this is what we see:</p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/how-to-ensure-ui-elements-available-during-uninstall-1.png" alt="The Add/Remove Programs dialog showing choices available for a software product" title="The Add/Remove Programs dialog showing choices available for a software product"/><br/><br />
<strong>Add/Remove Programs dialog showing choices available for a product</strong>
</div>
<p><br/></p>
<p>Here, we have selected SQL Server Native Client, and three choices are appearing, <strong>Uninstall</strong>, <strong>Change</strong> and <strong>Repair</strong>.  You can uninstall this product in two ways.  You can select <strong>Change</strong>, then in dialog that appears, select <strong>Remove</strong>.  Or you can just select <strong>Uninstall</strong>.</p>
<p>If you select <strong>Change</strong>, then <strong>Remove</strong>, you will still get the UI sequence during the uninstall.  Meaning, you will still see dialogs and message boxes.</p>
<p>If you select <strong>Uninstall</strong>, the <strong>Windows Installer</strong> will only perform the <strong>Execute</strong> sequence during the uninstall.  Therefore, no UI elements will be shown.</p>
<p>Here&#8217;s a screenshot showing the <strong>Add or Remove Programs</strong> section in the <strong>General Information</strong> view of an <strong>InstallShield</strong> project:</p>
<div align="center">
<img src="http://www.installationdeveloper.com/images/how-to-ensure-ui-elements-available-during-uninstall-2.png" alt="The Add/Remove Programs section in the General Information view" title="The Add/Remove Programs section in the General Information view"/><br/><br />
<strong>The Add/Remove Programs section in the General Information view</strong>
</div>
<p><br/></p>
<p>To ensure that UI elements are available during an uninstall, you have to disable the <strong>Remove</strong> button in the <strong>InstallShield</strong> project.  That way to uninstall, the user will be forced to choose <strong>Modify/Change</strong> in the dialog.  When he does that, he will be then be presented with a dialog that has three choices <strong>Modify</strong>, <strong>Repair</strong>, and <strong>Remove</strong>.  And when he selects <strong>Remove</strong>, he will see the UI elements you have set up.</p>
<p>That always works.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2679/how-to-ensure-that-ui-elements-are-available-during-an-uninstall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem: Can&#8217;t Copy and Paste in the InstallScript View</title>
		<link>http://www.installationdeveloper.com/2671/problem-cant-copy-and-paste-in-the-installscript-view/</link>
		<comments>http://www.installationdeveloper.com/2671/problem-cant-copy-and-paste-in-the-installscript-view/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 17:11:28 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Copy And Paste]]></category>
		<category><![CDATA[Copy Paste]]></category>
		<category><![CDATA[Exit]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Simple Solution]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2671</guid>
		<description><![CDATA[I have noticed this problem on and off for a few years. This generally happens when you are working in the InstallScript view of a project. I think it usually happens in Basic MSI projects. Anyway, you are working away and all of a sudden, you can no longer paste info into the script. No [...]]]></description>
			<content:encoded><![CDATA[<p>I have noticed this problem on and off for a few years.</p>
<p>This generally happens when you are working in the <strong>InstallScript</strong> view of a project.  I think it usually happens in <strong>Basic MSI</strong> projects.</p>
<p>Anyway, you are working away and all of a sudden, you can no longer paste info into the script.  No matter what you do, you can&#8217;t paste.</p>
<p>The solution is easy.  Just save your project, close the project, exit out of InstallShield, then run it again, reopen your project, and go back to the InstallScript view.  You will then be able to copy and paste again.</p>
<p>A simple solution to a problem you may encounter.</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2671/problem-cant-copy-and-paste-in-the-installscript-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use the AppDataFolder For Standard User Installations</title>
		<link>http://www.installationdeveloper.com/2633/use-the-appdatafolder-for-standard-user-installations/</link>
		<comments>http://www.installationdeveloper.com/2633/use-the-appdatafolder-for-standard-user-installations/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 15:29:20 +0000</pubDate>
		<dc:creator>Rod_Maupin</dc:creator>
				<category><![CDATA[InstallShield Tutorial]]></category>
		<category><![CDATA[Application Data]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Client Software]]></category>
		<category><![CDATA[Computer Words]]></category>
		<category><![CDATA[Configured]]></category>
		<category><![CDATA[Current User]]></category>
		<category><![CDATA[Default User]]></category>
		<category><![CDATA[Destination Folder]]></category>
		<category><![CDATA[Document Applications]]></category>
		<category><![CDATA[Exact Words]]></category>
		<category><![CDATA[Folder Dialog]]></category>
		<category><![CDATA[Folders]]></category>
		<category><![CDATA[Initial Installation]]></category>
		<category><![CDATA[install shield tutorial]]></category>
		<category><![CDATA[installshield]]></category>
		<category><![CDATA[installshield expert]]></category>
		<category><![CDATA[installshield programmer]]></category>
		<category><![CDATA[InstallShield Training]]></category>
		<category><![CDATA[Installshield Tutorial]]></category>
		<category><![CDATA[installshield tutorial pdf]]></category>
		<category><![CDATA[installshield tutorials]]></category>
		<category><![CDATA[Logo Guidelines]]></category>
		<category><![CDATA[Msi]]></category>
		<category><![CDATA[Program Files Folder]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Security Permissions]]></category>
		<category><![CDATA[Software Logo]]></category>
		<category><![CDATA[tutorial installshield]]></category>
		<category><![CDATA[using installshield]]></category>
		<category><![CDATA[What This Means]]></category>
		<category><![CDATA[Windows Installation]]></category>
		<category><![CDATA[Windows Logo]]></category>

		<guid isPermaLink="false">http://www.installationdeveloper.com/?p=2633</guid>
		<description><![CDATA[If you are new to Windows installation development, you may not know what the Windows Logo Guidelines specify for applications that are installed only for the current user of a computer. Here are the exact words on this subject from the Windows 7 Client Software Logo document: All application data exclusive to a specific user [...]]]></description>
			<content:encoded><![CDATA[<p>If you are new to Windows installation development, you may not know what the <strong>Windows Logo Guidelines</strong> specify for applications that are installed only for the current user of a computer.</p>
<p>Here are the exact words on this subject from the <strong>Windows 7 Client Software Logo</strong> document:</p>
<p><span style="color: #0000ff; font-weight:bold;">All application data exclusive to a specific user and not to be shared with other users of the computer must be stored in Users\UserName\AppData.</span></p>
<p>What this means is that, when you are setting the value for <strong>INSTALLDIR</strong> in <strong>Basic MSI</strong> or <strong>InstallScript MSI</strong> projects, you should use the <strong>AppDataFolder</strong>.</p>
<p>Finally, if your application and data will only be installed for the current user of a computer, you are creating a <strong>Per-User</strong> installation.</p>
<p>
&nbsp;
</p>
<p>
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.installationdeveloper.com/2633/use-the-appdatafolder-for-standard-user-installations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

