<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.xna.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>General</title><link>http://forums.xna.com/forums/32.aspx</link><description>Don't know where to post your question? Post it here!</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 0.0)</generator><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/98489.aspx</link><pubDate>Mon, 20 Oct 2008 09:10:01 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:98489</guid><dc:creator>XNA Guy</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/98489.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=98489</wfw:commentRss><description>&lt;p&gt;I found it better to do this which gives the user status messages of what&amp;#39;s going on while the silent installs happen&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#7f9db9 1px solid;BORDER-TOP:#7f9db9 1px solid;FONT-SIZE:11px;OVERFLOW:auto;BORDER-LEFT:#7f9db9 1px solid;WIDTH:100%;BORDER-BOTTOM:#7f9db9 1px solid;FONT-FAMILY:Courier New;HEIGHT:104px;BACKGROUND-COLOR:white;"&gt;
&lt;table style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;MARGIN:2px 0px;WIDTH:99%;BORDER-BOTTOM:#eee 0px solid;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#fff;BORDER-RIGHT-WIDTH:0px;" cellspacing="0" cellpadding="0"&gt;
    
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="FONT-SIZE:11px;"&gt;Filename:&amp;nbsp;{tmp}\{#DotNetSetup};&amp;nbsp;Flags:&amp;nbsp;skipifdoesntexist;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/q&amp;nbsp;/noreboot&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;;&amp;nbsp;StatusMsg:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;Installing&amp;nbsp;.NET...&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Filename:&amp;nbsp;{tmp}\{#VCRedist};&amp;nbsp;Flags:&amp;nbsp;skipifdoesntexist;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/q&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;;&amp;nbsp;StatusMsg:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;Installing&amp;nbsp;VC&amp;nbsp;Redist...&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Filename:&amp;nbsp;{tmp}\dxsetup.exe;&amp;nbsp;Parameters:&amp;nbsp;/silent;&amp;nbsp;StatusMsg:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;Installing&amp;nbsp;DirectX...&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Filename:&amp;nbsp;msiexec.exe;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/quiet&amp;nbsp;/i&amp;nbsp;&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;quot;{tmp}\{#XNARedist}&amp;quot;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;;&amp;nbsp;StatusMsg:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;Installing&amp;nbsp;XNA&amp;nbsp;Game&amp;nbsp;Studio...&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Filename:&amp;nbsp;{app}\{#MyAppExeName};&amp;nbsp;Description:&amp;nbsp;{cm:LaunchProgram,{#MyAppName}};&amp;nbsp;Flags:&amp;nbsp;nowait&amp;nbsp;postinstall&amp;nbsp;skipifsilent &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/83603.aspx</link><pubDate>Sun, 17 Aug 2008 20:46:27 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:83603</guid><dc:creator>CDarklock</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/83603.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=83603</wfw:commentRss><description>&lt;p&gt;Added fix.&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#7f9db9 1px solid;BORDER-TOP:#7f9db9 1px solid;FONT-SIZE:11px;OVERFLOW:auto;BORDER-LEFT:#7f9db9 1px solid;WIDTH:100%;BORDER-BOTTOM:#7f9db9 1px solid;FONT-FAMILY:Courier New;HEIGHT:272px;BACKGROUND-COLOR:white;"&gt;
&lt;table style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;MARGIN:2px 0px;WIDTH:99%;BORDER-BOTTOM:#eee 0px solid;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#fff;BORDER-RIGHT-WIDTH:0px;" cellspacing="0" cellpadding="0"&gt;
    
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="FONT-SIZE:11px;"&gt;var &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:Boolean; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2sp&amp;nbsp;:Boolean; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;whichDotNet2sp&amp;nbsp;:Cardinal; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;procedure&amp;nbsp;VerifyDotNet2(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:=&amp;nbsp;RegKeyExists(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\NET&amp;nbsp;Framework&amp;nbsp;Setup\NDP\v2.0.50727&amp;#39;); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#DotNetSetup}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;end; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;procedure&amp;nbsp;VerifyDotNet2sp1(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2sp&amp;nbsp;:=&amp;nbsp;RegQueryDWordValue(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\NET&amp;nbsp;Framework&amp;nbsp;Setup\NDP\v2.0.50727&amp;#39;,&amp;nbsp;&amp;#39;SP&amp;#39;,&amp;nbsp;whichDotNet2sp); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;(hasDotNet2sp&amp;nbsp;and&amp;nbsp;(whichDotNet2sp&amp;nbsp;&amp;gt;&amp;nbsp;0))&amp;nbsp;or&amp;nbsp;not&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#VCRedist}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;end;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;During my tests on Virtual PC machines (VPC rules, thanks MS!), I reasoned that when a machine does not have .NET 2.0, the Cardinal containing the service pack number might just have garbage in it if the RegQueryDWordValue() call fails. This new version validates that the call succeeeded. &lt;/p&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/83591.aspx</link><pubDate>Sun, 17 Aug 2008 19:58:13 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:83591</guid><dc:creator>CDarklock</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/83591.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=83591</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com//Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Aaron Stebner:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;the logic you&amp;#39;re using to detect the .NET Framework 2.0 and 2.0 SP1 are not the officially documented detection registry values&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s a hack. Inno Setup is very badly documented, and it took me an immense amount of time to get something together that did even this half-arsed job of dependency checking. Updating it to use official procedures is on my radar.&lt;/p&gt;
&lt;p&gt;EDIT: Since I was thinking of it, and Aaron has kindly saved me the trouble of looking up the officially supported mechanisms on my own, I&amp;#39;ve redone the code section to use the proper methods. &lt;/p&gt;
&lt;div style="BORDER-RIGHT:#7f9db9 1px solid;BORDER-TOP:#7f9db9 1px solid;FONT-SIZE:11px;OVERFLOW:auto;BORDER-LEFT:#7f9db9 1px solid;WIDTH:100%;BORDER-BOTTOM:#7f9db9 1px solid;FONT-FAMILY:Courier New;HEIGHT:258px;BACKGROUND-COLOR:white;"&gt;
&lt;table style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;MARGIN:2px 0px;WIDTH:99%;BORDER-BOTTOM:#eee 0px solid;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#fff;BORDER-RIGHT-WIDTH:0px;" cellspacing="0" cellpadding="0"&gt;
    
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="FONT-SIZE:11px;"&gt;var &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:Boolean; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2sp&amp;nbsp;:Cardinal; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;procedure&amp;nbsp;VerifyDotNet2(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:=&amp;nbsp;RegKeyExists(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\NET&amp;nbsp;Framework&amp;nbsp;Setup\NDP\v2.0.50727&amp;#39;); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#DotNetSetup}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;end; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;procedure&amp;nbsp;VerifyDotNet2sp1(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;RegQueryDWordValue(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\NET&amp;nbsp;Framework&amp;nbsp;Setup\NDP\v2.0.50727&amp;#39;,&amp;nbsp;&amp;#39;SP&amp;#39;,&amp;nbsp;hasDotNet2sp); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;(hasDotNet2sp&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;or&amp;nbsp;not&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#VCRedist}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;end;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;The new version of the setup script can be downloaded in its entirety at my XNA blog, or directly via&amp;nbsp;&lt;a href="http://www.darklock.com/xna/innosetup_xna.zip"&gt;http://www.darklock.com/xna/innosetup_xna.zip&lt;/a&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/83587.aspx</link><pubDate>Sun, 17 Aug 2008 19:31:31 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:83587</guid><dc:creator>Aaron Stebner</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/83587.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=83587</wfw:commentRss><description>&lt;p&gt;One thing I noticed while skimming through the script posted above - the logic you&amp;#39;re using to detect the .NET Framework 2.0 and 2.0 SP1 are not the officially documented detection registry values.&amp;nbsp; I&amp;#39;d suggest using the registry values in the sample code that I &lt;a href="http://blogs.msdn.com/astebner/archive/2007/11/29/6608419.aspx"&gt;posted on my blog&lt;/a&gt; because those are using the officially documented and supported detection methods for these products.&amp;nbsp; There are links in the comments in the sample code to the documentation on MSDN for .NET Framework deployment&amp;nbsp;as well.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/83465.aspx</link><pubDate>Sun, 17 Aug 2008 00:31:44 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:83465</guid><dc:creator>CDarklock</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/83465.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=83465</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://forums.xna.com//Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;PelleAtor:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Anyway here is the complete Inno Setup script:&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;After a bunch of questions about installers, I&amp;#39;ve made some modifications to the script to support XNA 2.0 and handle the VC redist files. &lt;/p&gt;
&lt;div style="BORDER-RIGHT:#7f9db9 1px solid;BORDER-TOP:#7f9db9 1px solid;FONT-SIZE:11px;OVERFLOW:auto;BORDER-LEFT:#7f9db9 1px solid;WIDTH:71.11%;BORDER-BOTTOM:#7f9db9 1px solid;FONT-FAMILY:Courier New;HEIGHT:500px;BACKGROUND-COLOR:white;"&gt;
&lt;table style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;MARGIN:2px 0px;WIDTH:99%;BORDER-BOTTOM:#eee 0px solid;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#fff;BORDER-RIGHT-WIDTH:0px;" cellspacing="0" cellpadding="0"&gt;
    
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="FONT-SIZE:11px;"&gt;;&amp;nbsp;Script&amp;nbsp;generated&amp;nbsp;by&amp;nbsp;the&amp;nbsp;Inno&amp;nbsp;Setup&amp;nbsp;Script&amp;nbsp;Wizard. &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;(Then&amp;nbsp;extensively&amp;nbsp;modified&amp;nbsp;by&amp;nbsp;Caliban&amp;nbsp;Darklock.) &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;SEE&amp;nbsp;THE&amp;nbsp;DOCUMENTATION&amp;nbsp;FOR&amp;nbsp;DETAILS&amp;nbsp;ON&amp;nbsp;CREATING&amp;nbsp;INNO&amp;nbsp;SETUP&amp;nbsp;SCRIPT&amp;nbsp;FILES! &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;your&amp;nbsp;game&amp;nbsp;here &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppName&amp;nbsp;&amp;quot;Railgun&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;your&amp;nbsp;game&amp;nbsp;and&amp;nbsp;a&amp;nbsp;version&amp;nbsp;number&amp;nbsp;here &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppVerName&amp;nbsp;&amp;quot;Railgun&amp;nbsp;(Alpha)&amp;nbsp;0.1&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;your&amp;nbsp;company,&amp;nbsp;or&amp;nbsp;just&amp;nbsp;your&amp;nbsp;name &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppPublisher&amp;nbsp;&amp;quot;Darklock&amp;nbsp;Communications&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;URL&amp;nbsp;of&amp;nbsp;your&amp;nbsp;website &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppURL&amp;nbsp;&amp;quot;http://www.darklock.com/xna/&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;path&amp;nbsp;to&amp;nbsp;your&amp;nbsp;game&amp;nbsp;project&amp;nbsp;-&amp;nbsp;check&amp;nbsp;Visual&amp;nbsp;Studio&amp;nbsp;properties&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;for&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;the&amp;nbsp;path &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppLocation&amp;nbsp;&amp;quot;C:\Documents&amp;nbsp;and&amp;nbsp;Settings\Caliban\My&amp;nbsp;Documents\Visual&amp;nbsp;Studio&amp;nbsp;2005\Projects\RailgunAlpha\RailgunAlpha&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;your&amp;nbsp;game&amp;nbsp;executable &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyAppExeName&amp;nbsp;&amp;quot;RailgunAlpha.exe&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;location&amp;nbsp;where&amp;nbsp;XNA&amp;nbsp;Game&amp;nbsp;Studio&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;is&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;installed &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyGameStudioLocation&amp;nbsp;&amp;quot;C:\Program&amp;nbsp;Files\Microsoft&amp;nbsp;XNA\XNA&amp;nbsp;Game&amp;nbsp;Studio\v2.0&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;for&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;the&amp;nbsp;correct&amp;nbsp;version&amp;nbsp;of&amp;nbsp;the&amp;nbsp;XNA&amp;nbsp;Framework&amp;nbsp;MSI &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;XNARedist&amp;nbsp;&amp;quot;xnafx20_redist.msi&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;Enter&amp;nbsp;the&amp;nbsp;location&amp;nbsp;where&amp;nbsp;you&amp;nbsp;have&amp;nbsp;placed&amp;nbsp;the&amp;nbsp;VC&amp;nbsp;and&amp;nbsp;.NET&amp;nbsp;redistributables &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;MyRedistLocation&amp;nbsp;&amp;quot;C:\Documents&amp;nbsp;and&amp;nbsp;Settings\Caliban\My&amp;nbsp;Documents\xnareqs&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;search&amp;nbsp;microsoft.com&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;for&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;visual&amp;nbsp;c++&amp;nbsp;sp1&amp;nbsp;redistributable&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;to&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;get&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;the&amp;nbsp;VC&amp;nbsp;redist &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;the&amp;nbsp;executable&amp;nbsp;file&amp;nbsp;here &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;VCRedist&amp;nbsp;&amp;quot;vcredist_x86.exe&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Download&amp;nbsp;latest&amp;nbsp;.NET&amp;nbsp;from&amp;nbsp;http:&lt;/font&gt;&lt;font style="COLOR:green;"&gt;//www.microsoft.com/net/&amp;nbsp;(download&amp;nbsp;button&amp;nbsp;on&amp;nbsp;menu) &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;enter&amp;nbsp;the&amp;nbsp;name&amp;nbsp;of&amp;nbsp;the&amp;nbsp;executable&amp;nbsp;file&amp;nbsp;here &lt;/font&gt;&lt;font style="COLOR:gray;"&gt;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&lt;font style="COLOR:gray;"&gt;#define&amp;nbsp;DotNetSetup&amp;nbsp;&amp;quot;DotNetFX35Setup.exe&amp;quot; &lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;Once&amp;nbsp;you&amp;#39;ve&amp;nbsp;filled&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;in&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;all&amp;nbsp;the&amp;nbsp;variables&amp;nbsp;above&amp;nbsp;and&amp;nbsp;downloaded&amp;nbsp;your&amp;nbsp;redist&amp;nbsp;packages, &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;everything&amp;nbsp;under&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;this&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;point&amp;nbsp;should&amp;nbsp;JUST&amp;nbsp;WORK&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;for&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;most&amp;nbsp;XNA&amp;nbsp;projects. &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;[Setup] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;AppName={#MyAppName} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;AppVerName={#MyAppVerName} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;AppPublisher={#MyAppPublisher} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;AppPublisherURL={#MyAppURL} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;AppSupportURL={#MyAppURL} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;AppUpdatesURL={#MyAppURL} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;DefaultDirName={pf}\{#MyAppName} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;DefaultGroupName={#MyAppName} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;OutputBaseFilename={#MyAppName}Setup &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Compression=lzma &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;SolidCompression=yes &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;[Languages] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Name:&amp;nbsp;english;&amp;nbsp;MessagesFile:&amp;nbsp;compiler:Default.isl &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;[Tasks] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Name:&amp;nbsp;desktopicon;&amp;nbsp;Description:&amp;nbsp;{cm:CreateDesktopIcon};&amp;nbsp;GroupDescription:&amp;nbsp;{cm:AdditionalIcons};&amp;nbsp;Flags:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;unchecked&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;[Files] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;DirectX&amp;nbsp;and&amp;nbsp;XNA&amp;nbsp;Framework&amp;nbsp;redistributables &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Source:&amp;nbsp;{#MyGameStudioLocation}\Redist\DX&amp;nbsp;Redist\*;&amp;nbsp;DestDir:&amp;nbsp;{tmp} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Source:&amp;nbsp;{#MyGameStudioLocation}\Redist\XNA&amp;nbsp;FX&amp;nbsp;Redist\{#XNARedist};&amp;nbsp;DestDir:&amp;nbsp;{tmp} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;.NET&amp;nbsp;and&amp;nbsp;VC&amp;nbsp;redistributables&amp;nbsp;-&amp;nbsp;VerifyDotNet2&amp;nbsp;MUST&amp;nbsp;run&amp;nbsp;BEFORE&amp;nbsp;VerifyDotNet2sp1! &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Source:&amp;nbsp;{#MyRedistLocation}\{#DotNetSetup};&amp;nbsp;DestDir:&amp;nbsp;{tmp};&amp;nbsp;AfterInstall:&amp;nbsp;VerifyDotNet2 &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Source:&amp;nbsp;{#MyRedistLocation}\{#VCRedist};&amp;nbsp;DestDir:&amp;nbsp;{tmp};&amp;nbsp;AfterInstall:&amp;nbsp;VerifyDotNet2sp1 &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;The&amp;nbsp;game&amp;nbsp;itself &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Source:&amp;nbsp;{#MyAppLocation}\bin\x86\Release\{#MyAppExeName};&amp;nbsp;DestDir:&amp;nbsp;{app};&amp;nbsp;Flags:&amp;nbsp;ignoreversion &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Source:&amp;nbsp;{#MyAppLocation}\bin\x86\Release\Content\*;&amp;nbsp;DestDir:&amp;nbsp;{app}\Content;&amp;nbsp;Flags:&amp;nbsp;ignoreversion&amp;nbsp;recursesubdirs&amp;nbsp;createallsubdirs &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;[Icons] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Name:&amp;nbsp;{group}\{#MyAppName};&amp;nbsp;Filename:&amp;nbsp;{app}\{#MyAppExeName} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Name:&amp;nbsp;{group}\{cm:UninstallProgram,{#MyAppName}};&amp;nbsp;Filename:&amp;nbsp;{uninstallexe} &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Name:&amp;nbsp;{commondesktop}\{#MyAppName};&amp;nbsp;Filename:&amp;nbsp;{app}\{#MyAppExeName};&amp;nbsp;Tasks:&amp;nbsp;desktopicon &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;[Run] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Filename:&amp;nbsp;{tmp}\{#DotNetSetup};&amp;nbsp;Flags:&amp;nbsp;skipifdoesntexist;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/q&amp;nbsp;/noreboot&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Filename:&amp;nbsp;{tmp}\{#VCRedist};&amp;nbsp;Flags:&amp;nbsp;skipifdoesntexist;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/q&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Filename:&amp;nbsp;{tmp}\dxsetup.exe;&amp;nbsp;Parameters:&amp;nbsp;/silent &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;Filename:&amp;nbsp;msiexec.exe;&amp;nbsp;Parameters:&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;/quiet&amp;nbsp;/i&amp;nbsp;&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;quot;{tmp}\{#XNARedist}&amp;quot;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Filename:&amp;nbsp;{app}\{#MyAppExeName};&amp;nbsp;Description:&amp;nbsp;{cm:LaunchProgram,{#MyAppName}};&amp;nbsp;Flags:&amp;nbsp;nowait&amp;nbsp;postinstall&amp;nbsp;skipifsilent &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;The&amp;nbsp;code&amp;nbsp;section&amp;nbsp;doesn&amp;#39;t&amp;nbsp;like&amp;nbsp;comments&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;for&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;some&amp;nbsp;reason. &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;VerifyDotNet2&amp;nbsp;removes&amp;nbsp;the&amp;nbsp;.NET&amp;nbsp;setup&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;you&amp;nbsp;already&amp;nbsp;have&amp;nbsp;.NET&amp;nbsp;2.0&amp;nbsp;installed. &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;;&amp;nbsp;VerifyDotNet2sp1&amp;nbsp;removes&amp;nbsp;the&amp;nbsp;VC&amp;nbsp;redist&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;you&amp;nbsp;already&amp;nbsp;have&amp;nbsp;.NET&amp;nbsp;2.0&amp;nbsp;SP1,&amp;nbsp;-or- &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;you&amp;nbsp;don&amp;#39;t&amp;nbsp;have&amp;nbsp;.NET&amp;nbsp;2.0&amp;nbsp;at&amp;nbsp;all&amp;nbsp;(it&amp;nbsp;will&amp;nbsp;be&amp;nbsp;installed&amp;nbsp;along&amp;nbsp;with&amp;nbsp;.NET&amp;nbsp;3.5). &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;
            &lt;p&gt;;&amp;nbsp;Using&amp;nbsp;the&amp;nbsp;skipifdoesntexist&amp;nbsp;flag&amp;nbsp;allows&amp;nbsp;the&amp;nbsp;setup&amp;nbsp;to&amp;nbsp;ignore&amp;nbsp;the&amp;nbsp;missing&amp;nbsp;files.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;; The editor here on the forums doesn&amp;#39;t like the title of this section to be &amp;quot;Code&amp;quot;. &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;; I&amp;#39;ve changed it to &amp;quot;CODESECTION&amp;quot;. Change it back to &amp;quot;Code&amp;quot; before you compile.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;[CODESECTION] &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;var &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:Boolean; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2sp1&amp;nbsp;:Boolean; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;procedure&amp;nbsp;VerifyDotNet2(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;hasDotNet2&amp;nbsp;:=&amp;nbsp;RegKeyExists(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\.NETFramework\policy\v2.0&amp;#39;); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#DotNetSetup}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;end; &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;procedure&amp;nbsp;VerifyDotNet2sp1(); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;begin &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;hasDotNet2sp1&amp;nbsp;:=&amp;nbsp;RegKeyExists(HKEY_LOCAL_MACHINE,&amp;nbsp;&amp;#39;SOFTWARE\Microsoft\.NETFramework\v2.0&amp;nbsp;SP1&amp;#39;); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font style="COLOR:blue;"&gt;if&lt;/font&gt;&lt;font style="FONT-SIZE:11px;"&gt;&amp;nbsp;hasDotNet2sp1&amp;nbsp;or&amp;nbsp;not&amp;nbsp;hasDotNet2&amp;nbsp;then &amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BACKGROUND-COLOR:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteFile(ExpandConstant(&amp;#39;{tmp}\{#VCRedist}&amp;#39;)); &amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;end;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;This version has a bunch of parameters up top, which - once you&amp;#39;ve set them for your project - pretty much do everything. I&amp;#39;ve added comments to explain what all the constants are, and if you just fill in the blanks it should &amp;quot;just work&amp;quot;.&lt;/p&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/59278.aspx</link><pubDate>Mon, 28 Apr 2008 15:33:19 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:59278</guid><dc:creator>The ZMan</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/59278.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=59278</wfw:commentRss><description>&lt;P&gt;THe game will launch just fine - the requirements for starting up an XNA game are just .Net 2.0&lt;/P&gt;
&lt;P&gt;However when the device gets created it will throw an excpetion you can catch and gracefully terminate.&lt;/P&gt;
&lt;P&gt;Or you can check the graphics card caps and see if it has all the features you need - there is an example here &lt;A href="http://msdn2.microsoft.com/en-us/library/bb975668.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb975668.aspx&lt;/A&gt;&lt;/P&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/59274.aspx</link><pubDate>Mon, 28 Apr 2008 15:10:18 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:59274</guid><dc:creator>Vesevo</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/59274.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=59274</wfw:commentRss><description>&lt;P&gt;How do you code the shader check into the game if the target computer fails to launch the game owing to the unsupported graphics card?&lt;/P&gt;
&lt;P&gt;I think if the XNA graphicsadapter cannot be called, then the&amp;nbsp;game will hang at launch.&lt;/P&gt;
&lt;P&gt;Or something obvious that I am missing, as I am&amp;nbsp;quite new to programming?&amp;nbsp;&lt;/P&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/59219.aspx</link><pubDate>Mon, 28 Apr 2008 10:22:13 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:59219</guid><dc:creator>The ZMan</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/59219.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=59219</wfw:commentRss><description>&lt;P&gt;There is nothing simple you can use.&lt;/P&gt;
&lt;P&gt;The easiest way is to jsut code the check into the start of your game. &lt;/P&gt;
&lt;P&gt;To get the installer to check you would have to wait untill you at least know that native Direct is installed and then you could call out to a native program you wrote to check for pixel shader level. There's no way to o it before DX is installed. If you wait tiwll after XNA framework is installed you can use a XNA based checker though you would also have to write that yourself.&lt;/P&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/59151.aspx</link><pubDate>Sun, 27 Apr 2008 18:59:09 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:59151</guid><dc:creator>Vesevo</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/59151.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=59151</wfw:commentRss><description>&lt;P&gt;The Inno installer works very well for me, but this thread has not mentioned its one major weakness: there is no check for pixel shader 1.1 support.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Is there a simple way to add this functionality?&lt;/P&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/45341.aspx</link><pubDate>Sun, 10 Feb 2008 21:16:32 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:45341</guid><dc:creator>Zaknafein</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/45341.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=45341</wfw:commentRss><description>Some things I found out while making an installer with XNA 2.0, taking in consideration everything Fritz added :&lt;br&gt;&lt;br&gt;- The dotnetfx3setup.exe (.NET 3.0 Installer bootstrap) does NOT include .NET 2.0 SP1, so is worthless in the case of XNA 2.0. And the 3.0 SP1 download doesn't work for [_ISToolDownload], I get a 404 error everytime. So I ended up using the x86 2.0 SP1 installer, which works with ISToolDownload and assume the amount of x64/IA64 machines is a very small propotion that is well able of reading a FAQ. Perhaps the .NET 3.5 includes it, I haven't tested because I thought it was getting a bit invasive to install every framework up to 3.5 just to have the bloody service pack...&lt;br&gt;&lt;br&gt;- Using the script Fritz suggested with :&lt;br&gt;&lt;div style="background-color:White;"&gt;&lt;div style="margin:0px;padding:2px 2px 2px 8px;background-color:White;overflow-x:scroll;overflow-y:hidden;width:505px;"&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; not ShellExec('open', ExpandConstant('{tmp}\ReDists\dotnetfx3setup.exe'),'', '/noreboot', SW_SHOW, ewWaitUntilTerminated, ErrorCode) then&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;...made it run into an infinite loop on some machines, where the installer would report that it's already installed and try again, and loop. I suspect this happens on machines that have 3.0 but not 2.0 SP1.&lt;br&gt;&lt;br&gt;So my suggestion (and final choice) is the following script :&lt;br&gt;&lt;div style="background-color:White;"&gt;&lt;div style="margin:0px;padding:2px 2px 2px 8px;background-color:White;overflow-x:scroll;overflow-y:hidden;width:505px;"&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// All the stuff above the Run directive is yours to choose&lt;/span&gt;&lt;br&gt;&lt;br&gt;[Run]&lt;br&gt;Filename: {tmp}\NetFx20SP1_x86.exe; Flags: skipifdoesntexist; Parameters: /q&lt;br&gt;Filename: {tmp}\dxwebsetup.exe; Parameters: /Q&lt;br&gt;Filename: msiexec.exe; Parameters: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"/quiet /i ""{tmp}\xnafx20_redist.msi"""&lt;/span&gt;&lt;br&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Add your game executable after that&lt;/span&gt;&lt;br&gt;&lt;br&gt;[_ISToolDownload]&lt;br&gt;Source: http:&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=79bc3b77-e02c-4ad3-aacf-a7633f706ba5&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f0%2f8%2fc%2f08c19fa4-4c4f-4ffb-9d6c-150906578c9e%2fNetFx20SP1_x86.exe; DestDir: {tmp}; DestName: NetFx20SP1_x86.exe; Tasks: ; Languages: &lt;/span&gt;&lt;br&gt;&lt;br&gt;[Code]&lt;br&gt;var hasDotNet2SP1: Boolean;&lt;br&gt;&lt;br&gt;function InitializeSetup(): Boolean;&lt;br&gt;var spval: Cardinal;&lt;br&gt;begin&lt;br&gt;&amp;nbsp;&amp;nbsp;hasDotNet2SP1 := True&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (not(RegKeyExists(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v2.0.50727'))) then&lt;br&gt;&amp;nbsp;&amp;nbsp;begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hasDotNet2SP1 := False&lt;br&gt;&amp;nbsp;&amp;nbsp;end&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;else&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (not(RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v2.0.50727', 'SP', spval))) then&lt;br&gt;&amp;nbsp;&amp;nbsp;begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hasDotNet2SP1 := False&lt;br&gt;&amp;nbsp;&amp;nbsp;end&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;else&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (spval &amp;lt; 1) then&lt;br&gt;&amp;nbsp;&amp;nbsp;begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hasDotNet2SP1 := False&lt;br&gt;&amp;nbsp;&amp;nbsp;end;&lt;br&gt;&lt;br&gt;    Result := True;&lt;br&gt;end;&lt;br&gt;&lt;br&gt;function NextButtonClick(CurPage: Integer): Boolean;&lt;br&gt;begin&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; not hasDotNet2SP1 then&lt;br&gt;        Result := istool_download(CurPage)&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;else&lt;/span&gt;&lt;br&gt;        Result := True;&lt;br&gt;end;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;Hope this helps!&lt;br&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/45205.aspx</link><pubDate>Sat, 09 Feb 2008 05:36:30 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:45205</guid><dc:creator>Fritz</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/45205.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=45205</wfw:commentRss><description>Yes you do, but for me, the reduction in initial download size (from 47MB-&amp;gt;27MB) makes this worthwhile. Also the 2.0 SP1 installer comes in two flavours x86 and x64 whereas the bootstrap will pull down the right version for the users hardware.&lt;br&gt;&lt;br&gt;It'd be interesting to see some stats on what percentage of users have the various versions of .Net Framework. If I get time I'll try and build something into the installer that logs how many users require the install, and how many fail to complete it.&lt;br&gt;&lt;br&gt;Fritz&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.triplebgames.com"&gt;http://www.triplebgames.com&lt;/a&gt;&lt;br&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/45027.aspx</link><pubDate>Thu, 07 Feb 2008 10:27:26 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:45027</guid><dc:creator>The ZMan</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/45027.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=45027</wfw:commentRss><description>&lt;P&gt;But by choosing the smaller bootstrapper you condemn your users to a longer download and install process. &lt;/P&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/45025.aspx</link><pubDate>Thu, 07 Feb 2008 09:54:01 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:45025</guid><dc:creator>Fritz</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/45025.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=45025</wfw:commentRss><description>Yes it's a bootstrap and requires a further download which isn't ideal but at least it's on Microsoft's bandwidth not mine.&lt;br&gt;&lt;br&gt;Fritz&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/44939.aspx</link><pubDate>Wed, 06 Feb 2008 17:06:56 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:44939</guid><dc:creator>The ZMan</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/44939.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=44939</wfw:commentRss><description>How can the .Net 3.0 redist be SMALLER than the .Net 2.0 SP1 redist? Or is this just some kind of bootsrap installer than fetches everything else over the internet?</description></item><item><title>Re: Making an installer for your XNA game (Windows)</title><link>http://forums.xna.com/forums/thread/44876.aspx</link><pubDate>Wed, 06 Feb 2008 10:26:58 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:44876</guid><dc:creator>Fritz</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/44876.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=44876</wfw:commentRss><description>You'll need to change your installer script to check for the presence of .NetFramework 2.0 SP1 - after a bit of playing around here's how I changed mine:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;procedure AfterFitbaInstall();&lt;BR&gt;var ErrorCode: Integer;&lt;BR&gt;var spval: Cardinal;&lt;BR&gt;var res: Boolean;&lt;BR&gt;begin&lt;BR&gt;&lt;BR&gt;&amp;nbsp; res:= true&lt;BR&gt;&amp;nbsp; if(not&amp;nbsp; (RegKeyExists(HKLM,'Software\Microsoft\NET Framework Setup\NDP\v2.0.50727')) ) then begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res:=false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp; else if( not&amp;nbsp; (RegQueryDWordValue(HKLM,'Software\Microsoft\NET Framework Setup\NDP\v2.0.50727','SP',spval)))&amp;nbsp; then&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res:=false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp; else if( spval&amp;lt;1) then begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; res:=false&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; if(res=false)then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not ShellExec('open', ExpandConstant('{tmp}\ReDists\dotnetfx3setup.exe'),'', '/noreboot', SW_SHOW, ewWaitUntilTerminated, ErrorCode) then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // handle failure if necessary&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Result := false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox('Failed to install .Net Framework 3.0. In order to run the game please ensure you have at least .Net Framework 2.0 SP1 installed', mbInformation, MB_OK);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;end;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;Hope that helps. (You might notice I'm using dotnetfx3setup.exe - the .NetFramework 3.0 installer as it's a much smaller addition to the installer than the 2.0 SP1 installer) &lt;BR&gt;&lt;BR&gt;Fritz&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.triplebgames.com"&gt;http://www.triplebgames.com&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;</description></item></channel></rss>