<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Installer MSI &amp; Clickonce issues </title><link>http://blogs.msdn.com/b/msiclickonce/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>An error occurred while signing: Key not valid for use in specified state</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2012/05/09/an-error-occurred-while-signing-key-not-valid-for-use-in-specified-state.aspx</link><pubDate>Wed, 09 May 2012 16:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10303267</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10303267</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2012/05/09/an-error-occurred-while-signing-key-not-valid-for-use-in-specified-state.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;When a user tries to publish a ClickOnce application after changing the user account password, it would fail with one of below error messages:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span size="2"&gt;&amp;ldquo;Cannot publish because a project failed to build.&amp;rdquo; &lt;br /&gt;&amp;ldquo;An error occurred while signing: Key not valid for use in specified state.&amp;rdquo; &lt;br /&gt;&amp;ldquo;Error msb3482 an error occurred while signing key not valid for use in specified state&amp;rdquo;&amp;nbsp; Ex. &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms228227(v=vs.90).aspx"&gt;&lt;span size="2"&gt;http://msdn.microsoft.com/en-us/library/ms228227(v=vs.90).aspx&lt;/span&gt;&lt;/a&gt;&lt;span size="2"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;Please find the below steps to reproduce the issue:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="2"&gt;1. Create a simple Windows Form application in Visual Studio. &lt;br /&gt;2. Without changing any properties of the application, right click the project file and &amp;ldquo;publish&amp;rdquo; the application. &lt;br /&gt;(A test certificate is automatically created by Visual Studio and stored under the project folder. ) &lt;br /&gt;3. Change the password of the local user account. &lt;br /&gt;4. Logoff from the computer and login back to the computer using the same user account. &lt;br /&gt;5. Open the same project that was created in step1, and without changing any properties of the application, right click the project file and &amp;ldquo;publish&amp;rdquo; the application. &lt;br /&gt;6. The above error would occur.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: small;" size="2"&gt;Resolution:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span size="2"&gt;The above issue occurs due to ClickOnce application was not signed with the certificate after re-logging to the system using new user account password. In order to resolve the issue just re-sign the application after re-logging. &lt;/span&gt;&lt;span size="2"&gt;For example, first time you sign the app using this certificate and publish it. Then change the password for the current user and log off/re-login to the system. Now sign the app again with the same certificate and publish the application. You should be able to publish the application successfully. &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-26-85/6710.1.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-26-85/6710.1.png" width="661" height="379" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10303267" width="1" height="1"&gt;</description></item><item><title>"Reference in the manifest does not match the identity of the downloaded assembly"</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2012/02/29/quot-reference-in-the-manifest-does-not-match-the-identity-of-the-downloaded-assembly-quot.aspx</link><pubDate>Wed, 29 Feb 2012 22:09:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10274929</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10274929</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2012/02/29/quot-reference-in-the-manifest-does-not-match-the-identity-of-the-downloaded-assembly-quot.aspx#comments</comments><description>&lt;p&gt;You may find the below error message while launching a ClickOnce application: &amp;ldquo;Reference in the manifest does not match the identity of the downloaded assembly MyApp.exe.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Log snippet:&lt;/p&gt;
&lt;p&gt;ERROR SUMMARY &lt;br /&gt;Below is a summary of the errors, details of these errors are listed later in the log. &lt;br /&gt;* Activation of &lt;a href="file://myserver/MyApp.application"&gt;\\MyServer\MyApp.application&lt;/a&gt; resulted in exception. Following failure messages were detected: &lt;br /&gt;&lt;span style="background-color: #ffff00;"&gt;&amp;nbsp; + Reference in the manifest does not match the identity of the downloaded assembly WinApp.exe.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Following errors were detected during this operation. &lt;br /&gt;* [28-Feb-12 10:53:06 AM]&lt;/p&gt;
&lt;p&gt;System.Deployment.Application.InvalidDeploymentException (RefDefValidation) &lt;br /&gt;&amp;nbsp; - &lt;span style="background-color: #ffff00;"&gt;Reference in the manifest does not match the identity of the downloaded assembly WinApp.exe. &lt;br /&gt;&lt;/span&gt;&amp;nbsp; - Source: System.Deployment&lt;/p&gt;
&lt;p&gt;Stack trace: &lt;br /&gt;&amp;nbsp;&amp;nbsp; at &lt;span style="background-color: #ffff00;"&gt;System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e) &lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles() &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory&amp;amp; downloadTemp) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState&amp;amp; subState, ActivationDescription actDesc) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String&amp;amp; errorPageUrl) &lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;After investigating this issue, I found that this issue occurs due to a manifest being embedded into the executable while building the application. On Visual Studio 2008 onwards, by default it embeds manifest information into assemblies. Hence, the resolution is to include&lt;strong&gt; /nowin32manifest&lt;/strong&gt; switch &lt;a href="http://msdn.microsoft.com/en-us/library/bb513864.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb513864.aspx&lt;/a&gt;&amp;nbsp; while building your application. Another approach would be to exclude the embedded manifest file after building the application. In order to do that please open Visual Studio IDE and Open the executable file from the menu (File&amp;mdash;&amp;gt;Open&amp;mdash;&amp;gt;File). You will find the below screenshot:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-85-metablogapi/8547.manifest_5F00_20D62B0B.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="manifest" border="0" alt="manifest" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-85-metablogapi/2843.manifest_5F00_thumb_5F00_2E689B79.png" width="582" height="424" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now delete RT_MANIFEST and save the executable file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10274929" width="1" height="1"&gt;</description></item><item><title>Removal of a component from a feature is not supported</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2011/12/27/removal-of-a-component-from-a-feature-is-not-supported.aspx</link><pubDate>Tue, 27 Dec 2011 18:04:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251263</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10251263</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2011/12/27/removal-of-a-component-from-a-feature-is-not-supported.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;You might observe that files are not being upgraded after applying a small update or a minor upgrade patch. The upgrade log may not show the exact cause of the issue. After investigation, I found some component rule violation in the upgrade package. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;To catch the violation to the upgrade component rules you can pass the public property MSIENFORCEUPGRADECOMPONENTRULES (&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/Aa370093"&gt;&lt;span size="2"&gt;http://msdn.microsoft.com/en-us/library/Aa370093&lt;/span&gt;&lt;/a&gt;&lt;span size="2"&gt;) that will affect any install on the machine. This will cause small and minor updates to fail with either Windows Installer error 2771 if a component is removed from a feature, or error 2772 if the feature tree is rearranged with the exception of adding a new feature as a leaf feature to an existing feature. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;For example first install the Target MSI package then run the below command: &lt;br /&gt;msiexec /fvomus Your_Upgrade_Package.msi REINSTALL=ALL REINSTALLMODE=vomus MSIENFORCEUPGRADECOMPONENTRULES=1 /l*vx log.txt&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;The above command-line tells MSI to update the cached MSI to start the minor upgrade then do a reinstall to actually replace newer files and registry keys.&amp;nbsp; The MSIENFORCEUPGRADECOMPONENTRULES Property will cause the minor upgrade to fail if you violated any of the minor upgrade rules.&amp;nbsp; The log file (log.txt) would show the cause of the issue.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;■Remove a component from a feature. &lt;br /&gt;This can also occur if you change the GUID of a component. The component identified by the original GUID appears to be removed and the component as identified by the new GUID appears as a new component.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;■Add a new feature to the top or middle of an existing feature tree. &lt;br /&gt;The new feature must be added as a new leaf feature to an existing feature tree.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;In the log (log.txt), I found the following information:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span size="2"&gt;&lt;span size="2"&gt;MSI (c) (B7:C0) [10:00:00:000]: SELMGR: ComponentId '{1F634567-89CD-ADEF-8179-D4A709CF0DBC}' is registered to feature 'FeatureA', but is not present in the Component table. &lt;/span&gt;&lt;span size="2"&gt;&lt;span style="background-color: #ffff00;"&gt;Removal of components from a feature is not supported! &lt;br /&gt;&lt;/span&gt;MSI (c) (B7:C0) [110:00:00:000]: SELMGR: Removal of a component from a feature is not supported &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span size="2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span size="2"&gt;&lt;span size="2"&gt;Please note that components can be added to new features - or existing features - but cannot be removed. In order to remove the component or make a change that would otherwise require a change in the component code - which is no different than removing one component and adding another - the ProductCode property must be changed, which constitutes a major upgrade. This applies even with obsolescence and supersedence. If we recall How Patching Works &lt;/span&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/heaths/archive/2005/09/12/464047.aspx"&gt;&lt;span size="2"&gt;&lt;span size="2"&gt;http://blogs.msdn.com/b/heaths/archive/2005/09/12/464047.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span size="2"&gt;&lt;span size="2"&gt; that when we obsolesce or supersede a previous patch Windows Installer removes the patch transform from the in-memory view of the product. This effectively removes a component from a feature or features and violates upgrade components rules.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span size="2"&gt;&lt;span size="2"&gt;As per the MSDN doc &lt;/span&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/Aa367850"&gt;&lt;span size="2"&gt;&lt;span size="2"&gt;http://msdn.microsoft.com/en-us/library/Aa367850&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span size="2"&gt;&lt;span size="2"&gt; the product code must be changed if any of the following are true for the update:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;&amp;bull;Coexisting installations of both original and updated products on the same system must be possible. &lt;br /&gt;&amp;bull;The name of the .msi file has been changed. &lt;br /&gt;&amp;bull;The component code of an existing component has changed. &lt;br /&gt;&amp;bull;A component is removed from an existing feature. &lt;br /&gt;&amp;bull;An existing feature has been made into a child of an existing feature. &lt;br /&gt;&amp;bull;An existing child feature has been removed from its parent feature.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;&lt;span size="2"&gt;In order to resolve the issue, try one of the steps: &lt;br /&gt;&amp;bull; Don&amp;rsquo;t remove the component from the existing feature in the upgrade package &lt;br /&gt;&amp;bull; Change the product Code in the upgrade package which would be a major upgrade.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251263" width="1" height="1"&gt;</description></item><item><title>An error occurred while signing: SignTool.exe not found.</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2011/11/28/an-error-occurred-while-signing-signtool-exe-not-found.aspx</link><pubDate>Mon, 28 Nov 2011 17:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10242087</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10242087</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2011/11/28/an-error-occurred-while-signing-signtool-exe-not-found.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;" size="2"&gt;While publishing a ClickOnce application using Visual Studio 2010, it may fail with the following error message: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000; font-size: small;" size="2" color="#ff0000"&gt;Error 1 Cannot publish because a project failed to build.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Error 2 An error occurred while signing: SignTool.exe not found.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-size: small;" size="2" color="#000000"&gt;Build output:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000; font-size: small;" size="2" color="#ff0000"&gt;Building WindowsFormsApplication... &lt;br /&gt;Error: Cannot publish because a project failed to build.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-size: small;" size="2" color="#000000"&gt;The signtool.exe is located at the following location:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-size: small;" size="2" color="#000000"&gt;%programfiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin&amp;nbsp;&amp;nbsp; for x64 system&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-size: small;" size="2" color="#000000"&gt;%programfiles%\Microsoft SDKs\Windows\v7.0A\Bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x86 system&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;Please make sure that the file is available there. Signtool.exe is part of the windows platform SDK. If the file is not present on the system, please install/repair&amp;nbsp; windows platform SDK OR &lt;/span&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;copy the file from a working system. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-size: small;" size="2" color="#000000"&gt;Now try to publish the ClickOnce application. If you still find the same issue, please check if you installed the Microsoft .NET Framework 4.5 Developer Preview on the system. The Microsoft .NET Framework 4.5 Developer Preview is a prerelease version of the .NET Framework, and should not be used in production scenarios. It is an in-place update to the .NET Framework 4. You would need to uninstall this prerelease product from ARP.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-85-metablogapi/4075.4.0beta_5F00_281E5CD7.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="4.0beta" border="0" alt="4.0beta" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-85-metablogapi/3007.4.0beta_5F00_thumb_5F00_33677114.jpg" width="668" height="235" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;After uninstall please reboot the system and install the .Net Framework 4.0 RTM. &lt;/span&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;It can be downloaded from the following link also: &lt;/span&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=17718"&gt;http://www.microsoft.com/download/en/details.aspx?id=17718&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;" size="2" color="#000000"&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;" size="2" color="#000000"&gt;Then launch Visual Studio 2010 and publish the ClickOnce Application. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242087" width="1" height="1"&gt;</description></item><item><title>“Current thread must be set to single thread apartment (STA) mode before OLE calls can be made”</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/12/06/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole-calls-can-be-made.aspx</link><pubDate>Mon, 06 Dec 2010 18:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10100907</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10100907</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/12/06/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole-calls-can-be-made.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;While calling a OpenFileDialog (&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx&lt;/a&gt;) via Installer class as a Custom Action in the Visual Studio Setup project, it just hangs there.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;When we attach a debugger we receive an error: "Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it. This exception is only raised if a debugger is attached to the process." &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;The same code works fine on Win XP and 2003. It only occurs on Win Vista and higher version of Operating Systems&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;The sample code is mentioned below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #2b91af; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;.Show(&lt;span style="color: #a31515;"&gt;"Cannot Locate Config File"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: #a31515;"&gt;"Pid : "&lt;/span&gt; + System.Diagnostics.&lt;span style="color: #2b91af;"&gt;Process&lt;/span&gt;.GetCurrentProcess().Id.ToString());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt; Location = &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;.Empty;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: yellow none repeat scroll 0% 0%; color: #2b91af;"&gt;OpenFileDialog&lt;/span&gt;&lt;span style="background: yellow none repeat scroll 0% 0%;"&gt; frm = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;OpenFileDialog&lt;/span&gt;();&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.InitializeLifetimeService();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Filter = &lt;span style="color: #a31515;"&gt;"Config Files (*.config)|*.config| (*.xml)|*.xml"&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Title = &lt;span style="color: #a31515;"&gt;"Browse Config file"&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt; ret = frm.ShowDialog();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (ret == &lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt;.OK)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = frm.FileName;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: black; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;The problem is that the MSI thread is running as an MTA thread, but the FileDialog.ShowDialog requires an STA thread.&amp;nbsp; To achieve this you will need to start a STA background thread and call the dialog from that thread.&amp;nbsp;Basically I did the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: black; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Added the DialogState class.&amp;nbsp; This keeps track of the input and output for the thread.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Added the STAShowDialog function.&amp;nbsp; This function takes a FileDialog, calls ShowDialog on a background STA thread, and then returns the results.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Changed the call from DialogResult ret = frm.ShowDialog(); to &lt;b&gt;DialogResult ret = STAShowDialog(frm);&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: black; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;You may need to add exception handling separately.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 'Calibri','sans-serif';"&gt;Here is the complete code:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;using&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="color: #000000;"&gt; System;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.Collections;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.Collections.Generic;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.ComponentModel;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.Configuration.Install;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.Linq;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 12pt; color: #1f497d; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; System.Windows.Forms;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: blue; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;namespace&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt; WindowsFormsApplication1 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;RunInstaller&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;)] &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;partial&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Installer1&lt;/span&gt;&lt;span style="color: #000000;"&gt; : &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Installer &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; Installer1() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;MessageBox&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Show(&lt;/span&gt;&lt;span style="color: #a31515;"&gt;"Cannot Locate Config File"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;MessageBox&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Show(&lt;/span&gt;&lt;span style="color: #a31515;"&gt;"Pid : "&lt;/span&gt;&lt;span style="color: #000000;"&gt; + System.Diagnostics.&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Process&lt;/span&gt;&lt;span style="color: #000000;"&gt;.GetCurrentProcess().Id.ToString()); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; Location = &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;OpenFileDialog&lt;/span&gt;&lt;span style="color: #000000;"&gt; frm = &lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;OpenFileDialog&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.InitializeLifetimeService(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Filter = &lt;/span&gt;&lt;span style="color: #a31515;"&gt;"Config Files (*.config)|*.config| (*.xml)|*.xml"&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Title = &lt;/span&gt;&lt;span style="color: #a31515;"&gt;"Browse Config file"&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt;&lt;span style="color: #000000;"&gt; ret = STAShowDialog(frm); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (ret == &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt;&lt;span style="color: #000000;"&gt;.OK) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = frm.FileName; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;MessageBox&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Show(Location); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;/* STAShowDialog takes a FileDialog and shows it on a background STA thread and returns the results. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Usage: &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; OpenFileDialog d = new OpenFileDialog(); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; DialogResult ret = STAShowDialog(d); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; if (ret == DialogResult.OK) &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(d.FileName); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */ &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt;&lt;span style="color: #000000;"&gt; STAShowDialog(&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;FileDialog&lt;/span&gt;&lt;span style="color: #000000;"&gt; dialog) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogState&lt;/span&gt;&lt;span style="color: #000000;"&gt; state = &lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogState&lt;/span&gt;&lt;span style="color: #000000;"&gt;(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state.dialog = dialog; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Threading.&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Thread&lt;/span&gt;&lt;span style="color: #000000;"&gt; t = &lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Threading.&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Thread&lt;/span&gt;&lt;span style="color: #000000;"&gt;(state.ThreadProcShowDialog); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t.SetApartmentState(System.Threading.&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ApartmentState&lt;/span&gt;&lt;span style="color: #000000;"&gt;.STA); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t.Start(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t.Join(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; state.result; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;/* Helper class to hold state and return value in order to call FileDialog.ShowDialog on a background thread. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Usage: &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; DialogState state = new DialogState(); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; state.dialog = // &amp;lt;any class that derives from FileDialog&amp;gt; &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; System.Threading.Thread t = new System.Threading.Thread(state.ThreadProcShowDialog); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; t.SetApartmentState(System.Threading.ApartmentState.STA); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; t.Start(); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; t.Join(); &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; return state.result; &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; color: green; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */ &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogState &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DialogResult&lt;/span&gt;&lt;span style="color: #000000;"&gt; result; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;FileDialog&lt;/span&gt;&lt;span style="color: #000000;"&gt; dialog; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; ThreadProcShowDialog() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = dialog.ShowDialog(); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt; font-family: 'Calibri','sans-serif';"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #000000;"&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="http://blogs.msdn.com/controlpanel/b/smondal/archive/2010/09/08/current-thread-must-be-set-to-single-thread-apartment-sta-mode-before-ole-calls-can-be-made.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10100907" width="1" height="1"&gt;</description></item><item><title>VS2010 Setup project - Migration from VS2008 does not work with Upgrades</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs2010-setup-project-migration-from-vs2008-does-not-work-with-upgrades.aspx</link><pubDate>Tue, 03 Aug 2010 20:25:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045562</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10045562</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs2010-setup-project-migration-from-vs2008-does-not-work-with-upgrades.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 10pt; line-height: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;Symptom &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;Migrated a Setup project from VS2008 to &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt;"&gt;VS2010&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt; and set RemovePreviousVersion=True so as to effect a Major Upgrade. The MajorUpgrade finishes with files being removed from the application folder. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt; line-height: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;Cause &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;Component GUID's are changed when setup projects are migrated from VS2008 to &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt;"&gt;VS2010&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;. InstallValidate marks components to be installed locally, RemoveExistingProducts that run at sequence 6550 ends up removing these components. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt; line-height: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;Resolution &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 7.5pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;* Manually change the component GUID's to be the same as that of VS2008 (this might not be a feasible solution) &lt;br /&gt;&lt;br /&gt;* Resequence RemoveExistingProducts right after InstallInitialize (sequence number 1525). This ensures that older files are removed and reinstalled by the newer version. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 7.5pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 8.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;" lang="EN"&gt;&lt;span style="font-size: small;"&gt;Contributor &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Ravi Shankar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045562" width="1" height="1"&gt;</description></item><item><title>ClickOnce - .net 4.0 errors: "Deployment manifest is not semantically valid" and "Deployment manifest is missing &lt;compatibleFrameworks&gt;"</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/clickonce-net-4-0-errors-quot-deployment-manifest-is-not-semantically-valid-quot-and-quot-deployment-manifest-is-missing-lt-compatibleframeworks-gt-quot.aspx</link><pubDate>Tue, 03 Aug 2010 20:22:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045560</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10045560</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/clickonce-net-4-0-errors-quot-deployment-manifest-is-not-semantically-valid-quot-and-quot-deployment-manifest-is-missing-lt-compatibleframeworks-gt-quot.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Team Build 2010 is being used to build the deployment manifest for a .Net 4.0 application to be deployed via ClickOnce.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;The application manifest is being built using mage.exe&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;After the application and deployment manifests have been built successfully application is attempted to be installed, it comes up with error&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Error Message:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;ERROR SUMMARY&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Below is a summary of the errors, details of these errors are listed later in the log.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;* Activation of https://NGIMSMOKECRMDB.parttest.extranettest.microsoft.com:555/NgimMsCrmClient/NgimMsCrmClient_DAILYBUILD.application resulted in exception. Following failure messages were detected:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;+ Deployment manifest is not semantically valid.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;+ Deployment manifest is missing &amp;lt;compatibleFrameworks&amp;gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Solution:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;GenerateDeploymentTask will need the TargetFramework attribute to be set.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;This can be done by setting TargetFrameworkMoniker input parameter in GenerateDeploymentManifest to ".NETFramework,Version=v4.0"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;An example of how this looks is as below.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;lt;Project DefaultTargets="NgimCustomBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion ="4.0"&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;lt;GenerateDeploymentManifest&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AssemblyName ="$(AppName).application" &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;TrustUrlParameters="true"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;hellip; &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;TargetFrameworkVersion="v4.0"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;TargetFrameworkMoniker=".NETFramework,Version=v4.0"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;hellip; &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;gt;&amp;lt;/GenerateDeploymentManifest&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;" lang="EN"&gt;&lt;span style="font-size: small;"&gt;Contributor &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Ravi Shankar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045560" width="1" height="1"&gt;</description></item><item><title>ClickOnce - File accociations are lost upon progrmmatic updates to ClickOnce on Win 7 X64 </title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/clickonce-file-accociations-are-lost-upon-progrmmatic-updates-to-clickonce-on-win-7-x64.aspx</link><pubDate>Tue, 03 Aug 2010 20:20:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045558</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10045558</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/clickonce-file-accociations-are-lost-upon-progrmmatic-updates-to-clickonce-on-win-7-x64.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;File associations created for ClickOnce applications are lost only on Win 7 X64 bit machines upon a programmatic update.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Bug in ClickOnce due to Registry reflection disabled in Win 7.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Programmatic updates with ClickOnce run under Wow64 on Win 7 X64 and cannot write the registry information for the file associations under the 64 bit registry nodes.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Bug not fixed yet, workarounds involve either disabling programmatic updates for Win 7 X64 and have users upgrade the application from the installation URL. OR Release a X64 build for X64 bit machines.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;" lang="EN"&gt;&lt;span style="font-size: small;"&gt;Contributor &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Ravi Shankar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045558" width="1" height="1"&gt;</description></item><item><title>VS Setup project - vsdraCOM sets codebase in registry to point to the SourcePath </title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs-setup-project-vsdracom-sets-codebase-in-registry-to-point-to-the-sourcepath.aspx</link><pubDate>Tue, 03 Aug 2010 20:17:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045556</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10045556</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs-setup-project-vsdracom-sets-codebase-in-registry-to-point-to-the-sourcepath.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Using VS Setup project to deploy an application that uses COM component. The COM component is being registered by setting vsdraCOM. When the application is installed on the target machine the registry codebase for the COM component is pointing to the sourcepath.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Using VS Setup project to deploy an application that uses COM component. The COM component is being registered by setting vsdraCOM. When the application is installed on the target machine the registry codebase for the COM component is pointing to the sourcepath.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;We first set the register property for the COM component to DoNotRegister. Used regasm from the Visual Studio 2005 command prompt with the following parameters.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Regasm.exe /regfile: /codebase &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;This would generate a reg file under the specified path. Now manually edit the reg file to replace the codebase information and change it to [TARGETDIR]&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Save the reg file and do the following in Visual Studio Setup project.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Right Click On the setup project goto View and select Registry editor. Right Click on Registry on Target machine and select Import. Point to the modified reg file and rebuild the project.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;" lang="EN"&gt;&lt;span style="font-size: small;"&gt;Contributor &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Ravi Shankar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045556" width="1" height="1"&gt;</description></item><item><title>VS Setup project - Pass Checkbox properties as arguments to MSI during silient installations</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs-setup-project-pass-checkbox-properties-as-arguments-to-msi-during-silient-installations.aspx</link><pubDate>Tue, 03 Aug 2010 19:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10045538</guid><dc:creator>Soumitra Mondal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10045538</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/08/03/vs-setup-project-pass-checkbox-properties-as-arguments-to-msi-during-silient-installations.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;Checkboxes are used in Install UI to select what files need to be installed. This works fine when installing in full UI. During silent installation via the command line, the property cannot be set as arguments to msiexec.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;The property values are initialized to 1 in the property table. The Setup project builds the MSI with CustomActions in the InstallExecuteSequence that reset these property values to Null. Its only in the UI when the CheckBox dialog is created the actual property values are set. Therefore no matter what values we pass from the command line to the properties they are always getting reset to Null and never being set to the desired values.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;The condition I had to use was CHECKBOXA1&amp;lt;&amp;gt;&amp;rdquo;&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;had to remove some entries from the InstallExecuteSequence and the Property tables. This I have done using a post build event as below.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `InstallExecuteSequence` WHERE `InstallExecuteSequence`.`Action`='CustomCheckA_SetProperty_CHECKBOX1'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `InstallExecuteSequence` WHERE `InstallExecuteSequence`.`Action`='CustomCheckA_SetProperty_CHECKBOX2'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `InstallExecuteSequence` WHERE `InstallExecuteSequence`.`Action`='CustomCheckA_SetProperty_CHECKBOX3'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `InstallExecuteSequence` WHERE `InstallExecuteSequence`.`Action`='CustomCheckA_SetProperty_CHECKBOX4'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `Property` WHERE `Property`.`Property`='CHECKBOXA1'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `Property` WHERE `Property`.`Property`='CHECKBOXA2'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `Property` WHERE `Property`.`Property`='CHECKBOXA3'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size: small; font-family: Calibri;"&gt;cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "DELETE FROM `Property` WHERE `Property`.`Property`='CHECKBOXA4'"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in 0in 10pt;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;" lang="EN"&gt;&lt;span style="font-size: small;"&gt;Contributor &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Ravi Shankar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045538" width="1" height="1"&gt;</description></item><item><title>ClickOnce -- TargetFrameworkVersion</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2010/06/21/clickonce-targetframeworkversion.aspx</link><pubDate>Mon, 21 Jun 2010 18:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10028058</guid><dc:creator>Aditya Hari</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=10028058</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2010/06/21/clickonce-targetframeworkversion.aspx#comments</comments><description>&lt;p&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;
&lt;p class="MsoNormal"&gt;Issue:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;===============&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Though the ClickOnce application is set to ToolsVersion="3.5" and the TargetFrameworkVersion is v.3.5 we see that when building with TFS 2010 the manifest includes the following dependency&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;By including the above dependency we are making .NET Framework 4.0 as a mandatory prerequisite for our application, which is incorrect.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This is because TFS 2010 build installs MSBUILD 4.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;How to repro this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;====================&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;1. Create a windows app using VS 2008 targeting .NET Framework 2.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;2. Make sure we set the publish properties correct in the publish properties page of the VS 2008.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;3. Also, sign the clickonce manifests using a test cert.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;4. Make sure we save the project without building.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Now proceed to the next steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;1. Launch the VS 2010 command prompt and use the 4.0 msbuild to build and publish the same app after clearing the publish file created in the TEST A.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;msbuild /target:publish "projectname.vbproj"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;2. Once the publish is success, look at the publish folder for the application manifest and in the app manifest we could find the following.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Workarounds to fix the above problem:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;===================&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;1. Use c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe to publish your project.&amp;nbsp; This should always work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-theme-font: minor-bidi;"&gt;2. Set &amp;lt;Project ToolsVersion="3.5" to &amp;lt;Project ToolsVersion="4.0" in your *.csproj or *.vbproj file. and Publish using c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;If the above are not an option, then you could try the following too:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Change the following lines in the TFSBuild.proj &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;From:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;MSBuild Projects="$(SolutionRoot)/QA/Dev/Src/Discovery.Win.App/Discovery.Win.App.csproj"&lt;br /&gt;Properties="PublishDir=$(DropLocation)/$(BuildNumber)/Release/Discovery/;ApplicationVersion=$(VerMajor).$(VerMinor).$(VerBuild).$(VerRevision);InstallUrl=$(DiscoveryInstallUrl)"&lt;br /&gt;Targets="Publish" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;To:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;MSBuild ToolsVersion="3.5" Projects="$(SolutionRoot)/QA/Dev/Src/Discovery.Win.App/Discovery.Win.App.csproj"&lt;br /&gt;Properties="ClrVersion=2.0.50727.0;PublishDir=$(DropLocation)/$(BuildNumber)/Release/Discovery/;ApplicationVersion=$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision);PublishUrl=$(DiscoveryWinAppPublishUrl);InstallUrl=$(DiscoveryWinAppPublishUrl);Install=false;InstallFrom=Web"&lt;br /&gt;Targets="Publish"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Thanks,&lt;br /&gt;Aditya Hari&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10028058" width="1" height="1"&gt;</description></item><item><title>Windows Installer 4.0 - MSI that installs data files under System Protected folders does not remove files upon uninstall.</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/windows-installer-4-0-msi-that-installs-data-files-under-system-protected-folders-does-not-remove-files-upon-uninstall.aspx</link><pubDate>Mon, 21 Dec 2009 21:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939803</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939803</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/windows-installer-4-0-msi-that-installs-data-files-under-system-protected-folders-does-not-remove-files-upon-uninstall.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Installing data files (.mdb) into System Protected folders (Program Files, System32 etc..) on Windows Vista machines as Standard user.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Upon uninstall the data files appear to be removed, however when a new version of the application is installed the older data files are still referenced by the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Due to file virtualization on Vista, when an application is launched as a standard user and if the application needs to write files into protected folders such as ProgramFiles it creates a VirtualStore under the Users Appdata folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The Virtual Store is not removed upon uninstallation of the application. This is by design.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The recommendation is to not write data files into ProgramFiles folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Please see More information section to read more about UAC dev requirements and File virtualization on Vista.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;* Do not use System Protected folders to install Data Files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;* [CommonAppDataFolder] may be used for such reasons.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;CommonAppDataFolder resolves to the following locations on XP and Vista respectively.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;Root Drive&amp;gt;\Documents and Settings\All Users\Application Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;Root Drive&amp;gt;\Program Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;New UAC Technologies for Windows Vista - &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb756960.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn2.microsoft.com/en-us/library/bb756960.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The Windows Vista UAC Dev Requirements document may be downloaded from - &lt;/FONT&gt;&lt;A href="http://download.microsoft.com/download/5/6/a/56a0ed11-e073-42f9-932b-38acd478f46d/WindowsVistaUACDevReqs.doc"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://download.microsoft.com/download/5/6/a/56a0ed11-e073-42f9-932b-38acd478f46d/WindowsVistaUACDevReqs.doc&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3 face=Calibri&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/UAC/">UAC</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Vista/">Vista</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/VirtualStore/">VirtualStore</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/SystemProtect/">SystemProtect</category></item><item><title>MSI: Unable to elevate an uninstallation via ARP in Vista</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/msi-unable-to-elevate-an-uninstallation-via-arp-in-vista.aspx</link><pubDate>Mon, 21 Dec 2009 21:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939801</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939801</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/msi-unable-to-elevate-an-uninstallation-via-arp-in-vista.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;MSI built using WiX Installer consists of Actions that require elevation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The CustomActions are not designed to run under SystemContext. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The installation/uninstallation will have to be done using an Admin command prompt. The uninstallation using Add/Remove Programs will not work due to it being not elevated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;WiX does not generate a bootrapper setup.exe that can be used with an embedded manifest to say RequestedExecutionLevel = "RequireAdministrator"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Also uninstallation using Add/Remove Programs will not run elevated and fails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Use the steps below to change the Uninstall registry key for the package you are installing such that Add/Remove programs will use a Custom Script (executed from an elevated command shell) to uninstall the product.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;1.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Install your package on the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;2.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Take a backup of the registry key under &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Your product}&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;3.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Uninstall your package.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;4.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Set the ARPSYSTEMCOMPONENT property to 1 in property table within your package. For more information http://msdn.microsoft.com/en-us/library/aa367750(VS.85).aspx&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;5.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Import your backup registry keys to registry table within your msi package.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;6.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In the registry table change the keys to a new guid&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;such as &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Software\Microsoft\Windows\CurrentVersion\Uninstall\{Add New GUID}&lt;/I&gt;&lt;/B&gt; and remove &lt;B style="mso-bidi-font-weight: normal"&gt;WindowsInstaller=1&lt;/B&gt; from &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Your product}&lt;/I&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;7.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Add &lt;I style="mso-bidi-font-style: normal"&gt;elevate.vbs&lt;/I&gt; file in the msi package &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;To create Elevate.vbs&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Set objSh = CreateObject("Shell.Application")&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;objSh.ShellExecute "msiexec.exe", "/x {Product Code}" , "", "runas", 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;8.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In the registry table modify the "UninstallString" value to cscript "[TARGETDIR]elevate.vbs"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Now try installing and uninstalling the Msi package. I attached one sample msi package called Scripting_Elevation_setup.txt (rename it to .msi) which runs with elevated privilege from ARP on Vista. Let me know how it goes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NOTE: Its highly recommended to set all CustomActions requiring elevation with the TypeNoImpersonate bit such that they run with elevated privilages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Vista is capable of requesting for elevation when it determines a need for that.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The above is only a workaround that was implemented for the customer since the original developer of the MSI was not available to troubleshoot.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Set No Impersonate to run Custom action on Vista&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa368069(VS.85).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn.microsoft.com/en-us/library/aa368069(VS.85).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Custom action on vista&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/heaths/archive/2006/09/26/Custom-Actions-under-UAC-in-Vista.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/heaths/archive/2006/09/26/Custom-Actions-under-UAC-in-Vista.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Elevation through Script on Vista&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/aaron_margosis/archive/2007/07/01/scripting-elevation-on-vista.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/aaron_margosis/archive/2007/07/01/scripting-elevation-on-vista.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939801" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/bootstrapper/">bootstrapper</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/vbs/">vbs</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/ARPSYSTEMCOMPONENT/">ARPSYSTEMCOMPONENT</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Elevate/">Elevate</category></item><item><title>Native Custom action dll fails to build on x64</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/native-custom-action-dll-fails-to-build-on-x64.aspx</link><pubDate>Mon, 21 Dec 2009 21:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939799</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939799</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/native-custom-action-dll-fails-to-build-on-x64.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;when you changed the build environment from Win32 to x64 and tried to build the setup project Its giving Error&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;the Visual studio 2005 always complained the error message "&lt;I style="mso-bidi-font-style: normal"&gt;Entry&lt;/I&gt; &lt;I style="mso-bidi-font-style: normal"&gt;point ‘xxxxxx’ not found in module ‘xxxxxx’ for custom action ‘Primary Output from xxxx’ "&lt;/I&gt; and stopped the building.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;-If you are using VS 2008. It will build the Application with couple of warning. But this application will fail during install again&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Cause&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This is a Limitation of Microsoft Visual studio 2005 - It cannot find correct entry point when You build Native Custom action dll.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;It gives Error during Build&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Limitation of VS 2008 - It passes the Build but still cannot find the entry point correctly. so custom action won’t be successful&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;First you should use an MSI editor (such as Orca.exe) to look at your built MSI - you'll see a series of tables, like a database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The "CustomAction" table contains all the custom actions in your MSI (some of these are built-in - not all rows here are your own custom actions). Look at the "Target" column - some rows will have a string here similar to this: "_FunctionName@4", where "FunctionName" is the name of the entrypoint of the DLL that this custom action will execute. This is case-sensitive, so don't forget to preserve case. You should update the "Target" column to be just the name of the entrypoint you expect, without the "_" or the "@4". So as an example, you would change "_Install@4" to "Install".&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Once you have learned to alter the MSI the way you want it with Orca (and tested installing it), you can create a post build script which will modify your MSI using SQL statements, so that the custom actions will be re-prioritized for you automatically each time you build it&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939799" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/x64/">x64</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Native+Custom+action/">Native Custom action</category></item><item><title>Per-User installation of an MSI as standard user on Vista is installing files into Administrators profile</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/per-user-installation-of-an-msi-as-standard-user-on-vista-is-installing-files-into-administrators-profile.aspx</link><pubDate>Mon, 21 Dec 2009 21:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939797</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939797</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/per-user-installation-of-an-msi-as-standard-user-on-vista-is-installing-files-into-administrators-profile.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Files are being installed into the Administrators Profile rather than to the Standard Users profile.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This does not appear to be the default behavior for an Admin assisted installation as per documentation on &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/bb384154.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn2.microsoft.com/en-us/bb384154.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;"Windows Vista built-in installer detection prompts for consent when you run under UAC. A bootstrapper (Setup.exe) built with Visual Studio 2005 always prompts for consent, regardless of what it is installing. Because Setup.exe and all of its processes run with an administrator token on Windows Vista, the final application installation will be installed with elevated privileges. If a user runs Setup.exe with administrator-assisted elevation, the application will be installed under the elevated user's profile (not the administrator's profile)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The setup.exe was embedded with a UAC manifest that had RequestedExecutionLevel = RequireAdministrator.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The Admin Assisted Installation feature is over-ridden due to this. There will be a prompt for elevation even before the MSI is launched by setup.exe&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Changed the RequestedExecutionLevel = AsInvoker.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This caused the setup.exe to launch the MSI AsInvoker to begin with. Elevation prompt was seen only when there was a need to elevate, this caused Admin Assisted Installation to work correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Documentation on &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/bb384154.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn2.microsoft.com/en-us/bb384154.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This document should be studied carefully before building MSI packages that use the Admin Assisted Installation feature.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN" lang=EN&gt;Contributor&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939797" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/manifest/">manifest</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/AsInvoker/">AsInvoker</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/UAC/">UAC</category></item><item><title>MSI: About the Uninstall Registry Key, WindowsInstaller Value</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/msi-about-the-uninstall-registry-key-windowsinstaller-value.aspx</link><pubDate>Mon, 21 Dec 2009 21:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939784</guid><dc:creator>Gauravb</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939784</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/msi-about-the-uninstall-registry-key-windowsinstaller-value.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;MSI packages built using Visual Studio Setup and Deployment project create the following registry key.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\&amp;lt;Product Guid&amp;gt;\WindowsInstaller&lt;/I&gt;&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;There is no official Microsoft documentation for this registry key but the result of changing its value are as follows :- &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If the "WindowsInstaller" registry entry is "1", the uninstall program set in the ProgramPath of the "UninstallString" entry did not work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;However, when the "WindowsInstaller" registry entry is "0", the uninstall program set in the program path of the "UninstallString" entry worked as expected.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Setting the WindowsInstaller Registry key under &lt;B style="mso-bidi-font-weight: normal"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\&amp;lt;Product Guid&amp;gt;\&lt;/B&gt; will let you use your own UninstallString to uninstall the application via Add/Remove Programs &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;List of all properties under the Uninstall Key are documented on &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa372105(VS.85).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn.microsoft.com/en-us/library/aa372105(VS.85).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-language: AR-SA; mso-ansi-language: EN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US" lang=EN&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939784" width="1" height="1"&gt;</description></item><item><title>How to make ClickOnce work over SSL requiring client certificates</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-make-clickonce-work-over-ssl-requiring-client-certificates.aspx</link><pubDate>Mon, 21 Dec 2009 21:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939781</guid><dc:creator>Gauravb</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939781</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-make-clickonce-work-over-ssl-requiring-client-certificates.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Current feature limitations of Clickonce does not provide for security over internet by design.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;It does work over SSL with server certificates which provides a mechanism to let users know that the application is coming from a trusted publisher. However, it you want to secure your application itself to a limited set of users you will need to setup the web server to "Require Client certificates" over SSL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Clickonce is known to not work when the Web Server is set to "Require Client Certificates".&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When Internet Explorer encounters a Clickonce deployment manifest (.application file) it calls something like rundll32.exe dfshim.dll, ShOpenVerbApplication applicationname.application&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A process by the name dfsvc.exe is started in further reading from the Application manifest (.exe.manifest file) and downloading the files from the server into the Clickonce application cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;dfsvc is not able to handle any prompt for authentication during this process and setting up the Web Server to "Require Client Certificates" causes a prompt to the user to select an installed client certificate from the users certificate store. Therefore deployment fails with an error "&lt;I style="mso-bidi-font-style: normal"&gt;The remote server returned an error: (403) Forbidden&lt;/I&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;IIS can be configured to "Require Client Certificates" at the Website level, Virtual Directory level and the file level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Setting up IIS to require client certificates at the website, virtual directory and the publish.htm level but not on the .application file and the rest of the files in the publish directory will cause a prompt for certificate when you hit the publish.htm file but not when the .application file is processed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Clickonce should successfully deploy with this setting. Security is ensured since users will need a valid Client certificate installed to enter the Publish.htm page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NOTE: One caveat to this solution is that users will still be able to directly launch the application from the .application file provided the URL is made known to them. But the URL can only be known after getting prompted for certificate to hit the Publish.htm page &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-language: AR-SA; mso-ansi-language: EN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US" lang=EN&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-ansi-language: EN" lang=EN&gt;Contributor&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939781" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/clickonce/">clickonce</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/SSL/">SSL</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Server+Certificate/">Server Certificate</category></item><item><title>How to build an MSI to deploy ActiveX control</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-build-an-msi-to-deploy-activex-control.aspx</link><pubDate>Mon, 21 Dec 2009 21:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939777</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939777</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-build-an-msi-to-deploy-activex-control.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;1. Create a new Setup and Deployment Project in Visual Studio.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;2. Include the ocx files in the Project using the “File System Editor” as in &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/4ddxk2ye(VS.80).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn2.microsoft.com/en-us/library/4ddxk2ye(VS.80).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;It’s better to have the files in system32 folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;3. Go to the launch conditions editor and create a new File search to search for &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;the files regsvr32.exe and rundll32.exe under system32 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/0x2fc4kd(VS.71).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn2.microsoft.com/en-us/library/0x2fc4kd(VS.71).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The Property that will be set in the Launch Conditions editor will be used in the MSI package to go &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;the registration of the ocx files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;4. Build the setup Project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;5. The rest of the steps are to be done using a Platform SDK tool called ORCA. This &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;tool can be installed from the folder “C:\Program Files\Microsoft Platform SDK\Bin” &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;after installing the Platform SDK from the &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=eba0128f-a770-45f1-86f3-7ab010b398a3&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;link&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;6. Once we have ORCA installed, right click on the MSI built using the Setup and &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;deployment project (this should be in your output folder) and select Edit with &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;ORCA.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;7. This will open the MSI for further editing in ORCA. On the left side find a &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;table named “CustomAction” and select it. Towards the right pane you should be able &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;to see some Custom Actions already added by default. Right Click and select “Add Row”&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;8. In the Action field type a name to the CustomAction &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;(For example : other_cisco_controls), in the Target field type in 3122, in the Source field type &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;the name of the Property that you used in step 3.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;In the Target field type /s “[SystemFolder]&amp;lt;name of the ocx file&amp;gt;”&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;9. Similarly create other CustomActions to register other ocx files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;10. The last step is to sequence these CustomActions to run. To do this on the left &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;pane in ORCA find a table called “InstallExecuteSequence” and select. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Right click on the right pane to add a new row.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;11. In the Action field type in the name of the CustomActions as you had typed in &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;step 8. In the condition field type “Not Installed” and in the Sequence field type &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;a number 6400 and lesser than 6600.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;12. Save the MSI file using ORCA and test the package.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-language: AR-SA; mso-ansi-language: EN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US" lang=EN&gt;&lt;STRONG&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939777" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/OCX+ActiveX+control/">OCX ActiveX control</category></item><item><title>How to disable the default Launch condition for the .Net Framework in a Visual Studio Setup and Deployment project.</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-disable-the-default-launch-condition-for-the-net-framework-in-a-visual-studio-setup-and-deployment-project.aspx</link><pubDate>Mon, 21 Dec 2009 20:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939769</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9939769</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/12/21/how-to-disable-the-default-launch-condition-for-the-net-framework-in-a-visual-studio-setup-and-deployment-project.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Two ways to do this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;1)&lt;B&gt;Create a Transform to make apply changes to the MSI as to skip the default launch condition. You may then author a Custom launch condition to only display a message and exit the installation.&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Open the complied MSI using ORCA, click On the Transforms menu and select New Transform.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Find table by the name _VsdLaunchCondition and drop the only row it shows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Click on Transforms and select Generate Transform. Save the transform as a mst file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;To install using the transform use the command line msiexec /I &amp;lt;path to msi file&amp;gt; TANSFORMS=&amp;lt;path to the mst file&amp;gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;2)&lt;B&gt;Build MSI file without the default Launch Condition.&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;In the VS Setup project, go to the Launch Condition editor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Go to the properties for the Launch Condition by the name .NET Framework.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Set the Message Property to any message that you may want to display.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;Set the InstallUrl field to blank and build the project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-language: AR-SA; mso-ansi-language: EN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US" lang=EN&gt;&lt;STRONG&gt;Contributor &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Ravi Shankar&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939769" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Launch+Condition/">Launch Condition</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/TRANSFORMS/">TRANSFORMS</category></item><item><title>Issues encountered when the same XBAP application is run from different codebases and the user navigates between those different codebases.</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/04/issues-encountered-when-the-same-xbap-application-is-run-from-different-codebases-and-the-user-navigates-between-those-different-codebases.aspx</link><pubDate>Wed, 04 Nov 2009 00:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917076</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9917076</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/04/issues-encountered-when-the-same-xbap-application-is-run-from-different-codebases-and-the-user-navigates-between-those-different-codebases.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 6.8pt; mso-outline-level: 1" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When the user navigates between different codebases, he may encounter with a blank/hang web page that fails to render the application. The issue can be encountered in the following scenarios:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 6.8pt 0.5in; mso-outline-level: 1; mso-list: l0 level1 lfo1; mso-add-space: auto" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="LINE-HEIGHT: 115%; COLOR: black; FONT-SIZE: 8.5pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Navigate to URL1/xbap1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 6.8pt 0.5in; mso-outline-level: 1; mso-list: l0 level1 lfo1; mso-add-space: auto" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="LINE-HEIGHT: 115%; COLOR: black; FONT-SIZE: 8.5pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Navigate to URL2/xbap1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 6.8pt 0.5in; mso-outline-level: 1; mso-list: l0 level1 lfo1; mso-add-space: auto" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="LINE-HEIGHT: 115%; COLOR: black; FONT-SIZE: 8.5pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Navigate to URL1/xbap1&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;-&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt; Issue.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 6.8pt 35.25pt; mso-outline-level: 1; mso-add-space: auto" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 6.8pt; mso-outline-level: 1" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This issue is a bug in PresentationHost (the component responsible for deployment of xbaps using IPHM APIs.). It is encountered when a previous version of an already installed xbap is revisited somehow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 6.8pt; mso-outline-level: 1" class=MsoNormal&gt;&lt;SPAN style="COLOR: #bfbfbf; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin; mso-themecolor: background1; mso-themeshade: 191; mso-font-kerning: 18.0pt"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 3.4pt 0in; mso-outline-level: 6" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Development/Deployment time workaround options:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 3.4pt 0in; mso-outline-level: 6" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 3.4pt 0in 3.4pt 0.5in; mso-outline-level: 6; mso-list: l1 level1 lfo2; mso-add-space: auto" class=MsoListParagraph&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Convert xbap to online-only ClickOnce application as online-only clickonce applications should work in the above scenarios without a problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 3.4pt 0in 3.4pt 0.25in; mso-outline-level: 6" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Or&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 3.4pt 0in 3.4pt 0.5in; mso-outline-level: 6; mso-list: l1 level1 lfo2; mso-add-space: auto" class=MsoListParagraph&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Change the application identity when deploying to different codebases so that the application looks like a different application. You can change the identity by changing the PKT or name in the deployment manifest. Note that the applications cannot share data through ClickOnce data directory in this case.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 3.4pt 0in 3.4pt 0.25in; mso-outline-level: 6" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Or&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 3.4pt 0in 3.4pt 0.5in; mso-outline-level: 6; mso-list: l1 level1 lfo2; mso-add-space: auto" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Refrain from ApplicationDeployment APIs as they are going to fail in such scenario. There are two xbap APIs that can be used instead of IsNetworkDeployed and ActivationUri.: BrowserInteropHelper.IsBrowserHosted and BrowserInteropHelper.Source respectively. Note that there is no way of accessing Data Directory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 3.4pt 0in 3.4pt 0.5in; mso-outline-level: 6; mso-add-space: auto" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0in 0in 6.8pt; mso-outline-level: 1" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;Contributor : Gaurav Bodar&lt;BR&gt;&amp;nbsp;Reviewer&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;: Ravi Shankar&amp;nbsp; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 6.8pt; mso-outline-level: 1" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 3.4pt 0in 3.4pt 0.5in; mso-outline-level: 6; mso-add-space: auto" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917076" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Different+URLs/">Different URLs</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Xbap/">Xbap</category></item><item><title>ClickOnce Publish Error: "Cannot continue. The application is improperly formatted. Contact the application Vendor"</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/03/clickonce-publish-error-cannot-continue-the-application-is-improperly-formatted-contact-the-application-vendor.aspx</link><pubDate>Tue, 03 Nov 2009 23:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917048</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9917048</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/03/clickonce-publish-error-cannot-continue-the-application-is-improperly-formatted-contact-the-application-vendor.aspx#comments</comments><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3 face=Calibri&gt;Publish fails with Error "Cannot continue. The application is improperly formatted. Contact the application vendor for assistance."&lt;BR&gt;Consequently after the failure to publish, when the application is debugged from within the IDE there is an error&lt;BR&gt;&lt;BR&gt;ArgumentNullException was unhandled Value cannot be null.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;BR&gt;&lt;BR&gt;&lt;U&gt;Call Stack:Parameter name: activationContext &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 12pt; mso-margin-top-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;at System.Threading.ThreadHelper.ThreadStart()&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 2" class=MsoNormal&gt;&lt;A name=KSIAnchor3&gt;&lt;/A&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Cause&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Cyclic dependencies caused due to having a reference to the same project under the references.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 2" class=MsoNormal&gt;&lt;A name=KSIAnchor4&gt;&lt;/A&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Look under project references to verify that there are no Cyclic Dependencies.&lt;BR&gt;Remove any Cyclic dependencies if exists.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;STRONG&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;Contributor:&amp;nbsp; Aditya Hari&lt;BR&gt;Reviewer&amp;nbsp;&amp;nbsp; :&amp;nbsp; Ravi Shankar&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/STRONG&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917048" width="1" height="1"&gt;</description></item><item><title>ClickOnce:VS08 SP1 XML serialization assemblies not publishing</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/03/clickonce-vs08-sp1-xml-serialization-assemblies-not-publishing.aspx</link><pubDate>Tue, 03 Nov 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917031</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9917031</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/11/03/clickonce-vs08-sp1-xml-serialization-assemblies-not-publishing.aspx#comments</comments><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When using msbuild to publish the ClickOnce application which uses XML serialization assemblies we notice that they are not published.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 2" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Cause&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;It is known issue with Visual Studio 2008 SP1 and only with msbuild. If we publish normally using the IDE it works fine. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 2" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 2" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-language: HI"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Use the following Sgen task in the targets file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&amp;lt;SGen&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;BuildAssemblyName="$(TargetFileName)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;BuildAssemblyPath="$(IntermediateOutputPath)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;References="@(ReferencePath)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;ShouldGenerateSerializer="$(SGenShouldGenerateSerializer)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;UseProxyTypes="$(SGenUseProxyTypes)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;KeyContainer="$(KeyContainerName)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;KeyFile="$(KeyOriginatorFile)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;DelaySign="$(DelaySign)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;ToolPath="$(SGenToolPath)"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;SerializationAssembly="$(IntermediateOutputPath)$(_SGenDllName)" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&amp;gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;FONT size=3 face=Calibri&gt;Contributor:&amp;nbsp; Aditya Hari&lt;BR&gt;Reviewer&amp;nbsp;&amp;nbsp; :&amp;nbsp; Ravi Shankar&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: HI"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917031" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Sgen/">Sgen</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/XML+Serialization/">XML Serialization</category></item><item><title>ClickOnce Application Security Settings</title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/27/clickonce-application-security-settings.aspx</link><pubDate>Tue, 27 Oct 2009 18:25:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913619</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9913619</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/27/clickonce-application-security-settings.aspx#comments</comments><description>&lt;p&gt;The difference between the following two Security Settings in &lt;b&gt;ClickOnce&lt;/b&gt; Application:     &lt;br /&gt;a&amp;gt; Selecting “This is a full trust application”     &lt;br /&gt;b&amp;gt; Selecting “This is a partial trust application” and choosing the all Permissions &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/smondal/WindowsLiveWriter/ClickOnceApplicationSecuritySettings_9E54/1_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/msiclickonce/WindowsLiveWriter/ClickOnceApplicationSecuritySettings_A0A5/clip_image001_a71fc1b5-f405-4c94-b760-51361e1c5821.jpg" width="244" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Basically we would like to know the difference between a &amp;amp; b.&amp;#160; In other words, we would like to know the details on the colored area as listed below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/smondal/WindowsLiveWriter/ClickOnceApplicationSecuritySettings_9E54/2_1.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/msiclickonce/WindowsLiveWriter/ClickOnceApplicationSecuritySettings_A0A5/clip_image002_dc060774-11eb-4008-a752-7733d52f7961.jpg" width="241" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please note that both are not the same. Full Trust (also known as Unrestricted) is different than just including everything.&amp;#160; &lt;a href="http://msdn2.microsoft.com/en-us/library/8x61d3e3(VS.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/8x61d3e3(VS.80).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All permission sets are a subset of the FullTrust set (which doesn’t actually contain any permissions; it’s just a special permission set). Practically speaking this means that a demand for any permission at all when compared against the FullTrust set will succeed. If you simply select every permission, you’re not going to be a subset of any set that contains: &lt;/p&gt;  &lt;p&gt;· Custom permissions that someone has written    &lt;br /&gt;· Identity permissions     &lt;br /&gt;· The FullTrust set itself&lt;/p&gt;  &lt;p&gt;As an example of the last one, the System.Diagnostics.Process class will do a demand for FullTrust, which will only be successful against FullTrust code. Another different is in the execution environment between explicit FullTrust vs Internet+All permissions. In FullTrust case the EXE is launched directly, whereas in any partial trust or custom permission set case the app is run under AppLaunch.exe host process which causes some functionality to be disabled - e.g. regfree com, app update APIs. &lt;/p&gt;  &lt;p&gt; If you select &lt;/p&gt;  &lt;p&gt;&lt;b&gt;a)&lt;/b&gt; (Full Trust application) then the application will be run directly by calling CreateProcess directly on the entrypoint exe. The application runs with full Code Access Security permissions (no different from any other native application running as the user) and in addition, has &lt;/p&gt;  &lt;p&gt;1) access to its current working directory    &lt;br /&gt;2) support for registration-free COM     &lt;br /&gt;3) The ability to issue binding statements and safe mode declarations in the app’s config statement, allowing it to opt out of GAC servicing.     &lt;br /&gt;If you select &lt;/p&gt;  &lt;p&gt;&lt;b&gt;b)&lt;/b&gt; (Partial trust with all permissions) the app is not run directly via CreateProcess, but is instead hosted in a dedicated hosting process called applaunch.exe. In this case, you don’t get 1, 2 or 3 above. &lt;/p&gt;  &lt;p&gt;Between these two, “Full Trust” is stronger execution permission for the above reasons.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Contributor: Soumitra Mondal&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913619" width="1" height="1"&gt;</description></item><item><title>When you try to create a new setup project/open an existing setup project, Visual Studio 2005/2008 IDE may hang </title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/19/when-you-try-to-create-a-new-setup-project-open-an-existing-setup-project-visual-studio-2005-2008-ide-may-hang.aspx</link><pubDate>Mon, 19 Oct 2009 16:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909215</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9909215</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/19/when-you-try-to-create-a-new-setup-project-open-an-existing-setup-project-visual-studio-2005-2008-ide-may-hang.aspx#comments</comments><description>&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;To work around this problem, run DCOMCNFG.exe and clear the check box for the Provide additional security for reference tracking option on the Default Properties tab. &lt;BR&gt;&lt;BR&gt;1. Click Start, point to Programs, point to Administrative tools, and then click Component Services. &lt;BR&gt;2. When the Component Services explorer is open, double-click Component Services, and then click Computers to open the Computers folder. &lt;BR&gt;3. Right-click My Computer, and then click Properties. &lt;BR&gt;4. Click the Default Properties tab. &lt;BR&gt;5. Disable the Provide additional security for reference tracking check box near the bottom of the page &lt;BR&gt;6. Click OK. &lt;BR&gt;&lt;BR&gt;Repro Steps &lt;BR&gt;========== &lt;BR&gt;1. Click Start, point to Programs, point to Administrative tools, and then click Component Services. &lt;BR&gt;2. When the Component Services explorer is open, double-click Component Services, and then click Computers to open the Computers folder. &lt;BR&gt;3. Right-click My Computer, and then click Properties. &lt;BR&gt;4. Click the Default Properties tab. &lt;BR&gt;5. Enable the Provide additional security for reference tracking check box near the bottom of the page. &lt;BR&gt;6. Click OK. &lt;BR&gt;Create a new setup project/open an existing setup project in Visual Studio 2005/2008. Note Visual Studio IDE hangs &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt"&gt;More detail Information &lt;BR&gt;==================== &lt;BR&gt;From the hang dump: &lt;BR&gt;The first thread waits till the other thread finishes. Thread 0 is apartment threaded. &lt;BR&gt;&lt;BR&gt;&lt;EM&gt;0:000&amp;gt; kL &lt;BR&gt;ChildEBP RetAddr &lt;BR&gt;000fff74 7c90e9c0 ntdll!KiFastSystemCallRet &lt;BR&gt;000fff78 7c8025cb ntdll!ZwWaitForSingleObject+0xc &lt;BR&gt;000fffdc 5ccbb98d kernel32!WaitForSingleObjectEx+0xa8 &lt;BR&gt;00100004 5cc6ca93 dpdpl!CVsThreadBase::Start_base+0x64 &lt;BR&gt;0010003c 5cd8cdad dpdpl!CVsdDeployable::Validate+0xcb &lt;BR&gt;00100078 5cd946f4 dpprj!CVsdPrjBaseProject&amp;lt;IVsdPrjSetupProject,CVsdPrjSetupProject,&amp;amp;CLSID_VsdPrjSetupProject&amp;gt;::StartBackgroundValidation+0xa3 &lt;BR&gt;001000b0 501024ba dpprj!CVsdPrjRootNode&amp;lt;&amp;amp;CLSID_VsdPrjCabProject&amp;gt;::OnAfterOpenProject+0x109 &lt;BR&gt;&lt;/EM&gt;&lt;BR&gt;The other thread is trying to unmarshal an apartment threaded COM object, which was created in thread 0. So it waits on thread 0 to process windows messages and deadlock &lt;BR&gt;&lt;BR&gt;&lt;EM&gt;0:020&amp;gt; kL &lt;BR&gt;ChildEBP RetAddr &lt;BR&gt;0892f670 7c90e9c0 ntdll!KiFastSystemCallRet &lt;BR&gt;0892f674 7c8025cb ntdll!ZwWaitForSingleObject+0xc &lt;BR&gt;0892f6d8 7c802532 kernel32!WaitForSingleObjectEx+0xa8 &lt;BR&gt;0892f6ec 7752abbd kernel32!WaitForSingleObject+0x12 &lt;BR&gt;0892f708 77601e51 ole32!GetToSTA+0x6f &lt;BR&gt;0892f728 7760109a ole32!CRpcChannelBuffer::SwitchAptAndDispatchCall+0xf6 &lt;BR&gt;0892f808 7751047c ole32!CRpcChannelBuffer::SendReceive2+0xb9 &lt;BR&gt;0892f874 77510414 ole32!CAptRpcChnl::SendReceive+0xab &lt;BR&gt;0892f8c8 77ef3db5 ole32!CCtxComChnl::SendReceive+0x113 &lt;BR&gt;0892f8e4 77ef3eac rpcrt4!NdrProxySendReceive+0x43 &lt;BR&gt;0892fcc0 77ef3e42 rpcrt4!NdrClientCall2+0x1fa &lt;BR&gt;0892fce0 77e89aa4 rpcrt4!ObjectStublessClient+0x8b &lt;BR&gt;0892fcf0 77511f50 rpcrt4!ObjectStubless+0xf &lt;BR&gt;0892fd40 77511fa3 ole32!CStdMarshal::RemoteAddRef+0xb3 &lt;BR&gt;0892fd64 775117d3 ole32!CStdMarshal::GetNeededRefs+0x4a &lt;BR&gt;0892fd98 7751168a ole32!CStdMarshal::ConnectCliIPIDEntry+0xa0 &lt;BR&gt;0892fdc4 77510cb0 ole32!CStdMarshal::MakeCliIPIDEntry+0x8c &lt;BR&gt;0892fdf0 77510be0 ole32!CStdMarshal::UnmarshalIPID+0x66 &lt;BR&gt;0892fe44 77510fb1 ole32!CStdMarshal::UnmarshalObjRef+0xef &lt;BR&gt;0892fe5c 77510f71 ole32!UnmarshalSwitch+0x25 &lt;BR&gt;0892fe90 77510fd9 ole32!UnmarshalObjRef+0x7f &lt;BR&gt;0892ff14 77556e24 ole32!CoUnmarshalInterface+0xa7 &lt;BR&gt;0892ff30 5ccbb8b5 ole32!wCoGetInterfaceAndReleaseStream+0x16 &lt;BR&gt;0892ff44 5ccbba16 dpdpl!CVsThreadBase::UnmarshalParentIUnknown+0x1a &lt;BR&gt;0892ff74 781329bb dpdpl!CVsThreadBase::InternalThreadMain+0x4c &lt;BR&gt;0892ffac 78132a47 msvcr80!_callthreadstartex+0x1b &lt;BR&gt;0892ffb4 7c80b683 msvcr80!_threadstartex+0x66 &lt;BR&gt;0892ffec 00000000 kernel32!BaseThreadStart+0x37 &lt;BR&gt;&lt;BR&gt;&lt;/EM&gt;The COM is an internal COM object and so it doesn’t have registration information in the registry. Since it works on other machines my guess is that we unmarshal the interface before its marshaled. In order to compare it, I took a hang dump from a working machine with a break point on dpdpl!CVsThreadBase::UnmarshalParentIUnknown &lt;BR&gt;&lt;BR&gt;I wanted to find why marshalling did not happen on working cases. To this effect I put breakpoints on all the functions in the secondary threads stack up to GetToSTA. Then I figured out where it deviated in the working machine. This led me to function ole32!CStdMarshal::GetNeededRefs. Checking this function lead me to a value and it was different between failing and working machines. The difference in values was a flag which according to the doc represents the above DCOM setting. &lt;BR&gt;&lt;BR&gt;Reference: &lt;A href="http://msdn2.microsoft.com/en-us/library/ms680051.aspx#_com_setting_machine_wide_reference_tracking"&gt;&lt;FONT color=#0000ff&gt;http://msdn2.microsoft.com/en-us/library/ms680051.aspx#_com_setting_machine_wide_reference_tracking&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;Contributor: Soumitra Mondal&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909215" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Debug/">Debug</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/DCOMCNFG/">DCOMCNFG</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/Component+Services/">Component Services</category></item><item><title>How to add a .net dll within your application setup (Windows Installer Package) using Visual Studio 2005/2008 </title><link>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/19/how-to-add-a-net-dll-within-your-application-setup-windows-installer-package-using-visual-studio-2005-2008.aspx</link><pubDate>Mon, 19 Oct 2009 16:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909214</guid><dc:creator>Gauravb</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/msiclickonce/rsscomments.aspx?WeblogPostID=9909214</wfw:commentRss><comments>http://blogs.msdn.com/b/msiclickonce/archive/2009/10/19/how-to-add-a-net-dll-within-your-application-setup-windows-installer-package-using-visual-studio-2005-2008.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;There are two methods to do it.&amp;nbsp; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;Method 1: Create a registry file for registration of the DLL file using regasm.exe utility (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: purple; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/tzat5yw6(VS.71).aspx" mce_href="http://msdn.microsoft.com/en-us/library/tzat5yw6(VS.71).aspx"&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/en-us/library/tzat5yw6(VS.71).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;) &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;Ex:&amp;nbsp; &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;%windir%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe myTest.DLL /regfile:C:\myTest.reg&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;Now you need to import the registry within the Visual Studio Setup Project (Right-click “Registry on Target Machine”, click “Import”, and then browse to the .reg file) and build the Setup project. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;Method 2: Deploy the assembly to the target computer in the global assembly cache (GAC) &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-ansi-language: EN" lang=EN&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Right-click “File System on Target Machine”, click “Add Special Folder”, and then click “Global Assembly Cache Folder”. &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; By default, the assembly is inserted in the Application Folder (by default, it is a side-by-side installation). Drag the assembly to the Global Assembly&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache&amp;nbsp;Folder. &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Build the Setup Project. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;&lt;o:p&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN" lang=EN&gt;&lt;FONT size=3&gt;Contributor: Soumitra Mondal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909214" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/MSI/">MSI</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/GAC/">GAC</category><category domain="http://blogs.msdn.com/b/msiclickonce/archive/tags/RegAsm/">RegAsm</category></item></channel></rss>