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

<channel>
	<title>Installer &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/installer/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Tue, 31 Mar 2026 20:18:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Hosting a Xojo Web Application Behind IIS</title>
		<link>https://blog.xojo.com/2022/10/20/hosting-a-xojo-web-application-behind-iis/</link>
		
		<dc:creator><![CDATA[Wayne Golding]]></dc:creator>
		<pubDate>Thu, 20 Oct 2022 13:00:00 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Guest Post]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=10897</guid>

					<description><![CDATA[Wayne Golding]]></description>
										<content:encoded><![CDATA[
<p>On July 1<sup>st</sup>, 2022, Microsoft withdrew the Web Platform Installer and plans to remove it and its catalogues from servers on December 31<sup>st</sup>, 2022.&nbsp; You can read more about this at <a href="https://blogs.iis.net/iisteam/web-platform-installer-end-of-support-feed">IIS Team Blog &#8211; Web Platform Installer &#8211; End of support and sunsetting the product/application feed</a>.&nbsp; The following instructions show you how to continue to host Xojo Web Applications behind IIS.</p>



<p>There are four parts to this article: Part 1 prepares the server for reverse proxy, Part 2 installs the Web Application and create a Windows Service for that app, Part 3 configures the Web Site and, finally, Part 4 looks at setting up the DNS record.</p>



<p>These instructions have been tested on Windows 2016, 2019 and 2022 servers. &nbsp;</p>



<h3 class="wp-block-heading">Part 1: Preparing the Server for Reverse Proxy</h3>



<ol class="wp-block-list"><li>Add the Web Server Role to your server.&nbsp; This is done through the Server Manager application.&nbsp; Default selections have been used.</li></ol>



<figure class="wp-block-image size-full is-style-default"><img fetchpriority="high" decoding="async" width="902" height="644" src="https://blog.xojo.com/wp-content/uploads/2022/10/image.png" alt="" class="wp-image-10898" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-300x214.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-768x548.png 768w" sizes="(max-width: 902px) 100vw, 902px" /></figure>



<ol class="wp-block-list" start="2"><li>Download the URL Rewrite component from <a href="https://www.iis.net/downloads/microsoft/url-rewrite">https://www.iis.net/downloads/microsoft/url-rewrite</a> and install it.</li><li>Download the Application Request Routing (ARR) component from <a href="https://www.iis.net/downloads/microsoft/application-request-routing">https://www.iis.net/downloads/microsoft/application-request-routing</a> and install it.</li></ol>



<p>Your server is now ready to host Web Applications behind IIS.</p>



<h3 class="wp-block-heading">Part 2: Installing the Web Application and Configuring the Windows Service</h3>



<p>As Xojo built applications are stand-alone, it is simply a matter of copying the application to the server. Typically, the location will be C:\Program Files\&lt;Your Company Name&gt;\&lt;Your Application Name&gt;.</p>



<p>To create the Windows Service, you’ll need to run CMD As Administrator and enter the following commands.&nbsp; I have used Demo Company and Demo Application.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<pre class="wp-block-preformatted">SC Create Demo binpath= “C:\Program Files\Demo Company\Demo Application\Demo Application.exe –port=8080” Start= auto
SC Description Demo “Demo Web Application”
SC Failure Demo actions=restart/2000/restart/2000/restart/2000 reset=10
SC FailureFlag Demo 1
SC Start Demo</pre>
</div></div>



<pre class="wp-block-preformatted">SC Create creates the service setting the path to the binary (executable file) specifying Port 8080 and configuring the service to start with the server.</pre>



<pre class="wp-block-preformatted">SC Description sets the long description for the service and is optional</pre>



<pre class="wp-block-preformatted">SC Failure configures how the controller will handle service crashes.&nbsp; In this case the service will be restarted after 2seconds for the first, second and subsequent failures.&nbsp; The failure count will be reset after 10 seconds.</pre>



<pre class="wp-block-preformatted">SC FailureFlag configures the service to treat app crashes as service crashes.&nbsp; Without this the controller won’t execute the failure actions set previously</pre>



<pre class="wp-block-preformatted">SC Start simply starts the service.</pre>



<h3 class="wp-block-heading">Part 3: Configuring the Web Site</h3>



<p>First, you’ll need to create the website using Internet Information Server Manager:</p>



<figure class="wp-block-image size-full is-style-default"><img decoding="async" width="1424" height="752" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-1.png" alt="" class="wp-image-10899" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-1.png 1424w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-1024x541.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-768x406.png 768w" sizes="(max-width: 1424px) 100vw, 1424px" /></figure>



<p>Next, you’ll add a reverse proxy rule using the URL Rewrite function:</p>



<figure class="wp-block-image size-full is-style-default"><img decoding="async" width="1425" height="751" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-2.png" alt="" class="wp-image-10900" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-2.png 1425w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-1024x540.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-768x405.png 768w" sizes="(max-width: 1425px) 100vw, 1425px" /></figure>



<p>Select Add Rule:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="1426" height="750" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-3.png" alt="" class="wp-image-10901" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-3.png 1426w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-1024x539.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-768x404.png 768w" sizes="auto, (max-width: 1426px) 100vw, 1426px" /></figure>



<p>Select Reverse Proxy:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="902" height="608" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-4.png" alt="" class="wp-image-10902" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-4.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-4-300x202.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-4-768x518.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></figure>



<p>And finally configure the rule:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="850" height="860" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-5.png" alt="" class="wp-image-10903" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-5.png 850w, https://blog.xojo.com/wp-content/uploads/2022/10/image-5-297x300.png 297w, https://blog.xojo.com/wp-content/uploads/2022/10/image-5-768x777.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></figure>



<p>127.0.0.1 is the local machine and 8080 is the port configured in the service.</p>



<h3 class="wp-block-heading">Part 4: DNS</h3>



<p>For the client browsers to find the site you need to add a record to your Domain Name Server.</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="902" height="856" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-6.png" alt="" class="wp-image-10904" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-6.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-6-300x285.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-6-768x729.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></figure>



<p>You can see here I’m adding a CNAME record to the DNS Manager.&nbsp; The fully qualified domain name matches the website name, and the site is hosted on a machine called WebServer.&nbsp; We use a CNAME record which is an alias of the WebServer A record so that if the WebServer ip address was changed all the sites would automatically follow.</p>



<p><em>Wayne Golding has been a Xojo developer since 2005 and is a Xojo MVP. He operates the IT Company <a href="http://www.axisdirect.nz">Axis Direct Ltd </a>which primarily develops applications using Xojo that integrate with Xero www.xero.com. Wayne’s hobby is robotics where he uses Xojo to build applications for his Raspberry Pi, often implementing IoT for remote control.</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creating Installers for Windows Apps</title>
		<link>https://blog.xojo.com/2014/06/12/creating-installers-for-windows-apps/</link>
					<comments>https://blog.xojo.com/2014/06/12/creating-installers-for-windows-apps/#comments</comments>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Thu, 12 Jun 2014 00:00:00 +0000</pubDate>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2014/06/12/creating-installers-for-windows-apps/</guid>

					<description><![CDATA[Creating Installers for Windows Apps]]></description>
										<content:encoded><![CDATA[<p>Now that you&#8217;ve finished creating your Windows app, how do you distribute it to Windows users? <span style="line-height: 1.62;">Microsoft Windows users expect an installer, so you can&#8217;t really get away with just using a ZIP file to distribute your apps. What are your options?</span></p>
<p><span id="more-129"></span></p>
<p>Depending on the project, I&#8217;ve used two installers on Windows: <a href="http://www.jrsoftware.org/isinfo.php" target="_blank" rel="noopener">Inno Setup</a> and <a href="http://www.advancedinstaller.com/" target="_blank" rel="noopener">Advanced Installer</a>. Both will create an installer that can place your app in Program Files, optionally create desktop and Start menu shortcuts, display a license agreement and much more.</p>
<p>Inno Setup creates setup.exe installers and is pretty easy to use once you get your script set up. The &#8220;QuickStart Pack&#8221; includes a Script editor that can help with that. Or you can grab one of the example scripts from the Xojo docs to get you started. There are examples for <a href="https://documentation.xojo.com/topics/windows/creating_an_installer_with_the_inno_setup_script_(32-bit_apps).html">32-bit</a> and <a href="https://documentation.xojo.com/topics/windows/creating_an_installer_with_the_inno_setup_script_(64-bit_apps).html">64-bit</a> Windows apps. Just replace the app names in the example with your app name, generate a new AppID (using Tool-&gt;Generate GUID in the menu) and you can build your installer.</p>
<p><a href="http://www.xojo.com/blog/en/assets_c/2014/06/InnoSetup-411.php"><img loading="lazy" decoding="async" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="https://blog.xojo.com/wp-content/uploads/2014/06/innosetup-thumb-400x415-411.pngt1466486449161ampwidth400ampheight415" sizes="auto, (max-width: 400px) 100vw, 400px" alt="InnoSetup.png" width="400" height="415" /></a></p>
<p>Advanced Installer has a user interface that is quite easy to use, allowing you to create an installer just by selecting files and specifying settings. The free version can use the &#8220;Simple&#8221; template which will likely suffice for most Xojo developers, but they also have a more powerful paid versions ($400 to $3000). In addition to the nice UI, Advanced Installer can create MSI (Microsoft Installer) files, which are often preferred by IT departments. From what I understand, an MSI makes it easier to do <a href="http://stackoverflow.com/questions/4304425/whats-the-prime-advantage-to-having-an-msi-installation-package" target="_blank" rel="noopener">remote and bulk deployments</a></p>
<p><a href="http://www.xojo.com/blog/en/assets_c/2014/06/AdvancedInstaller-414.php"><img loading="lazy" decoding="async" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="https://blog.xojo.com/wp-content/uploads/2014/06/advancedinstaller-thumb-400x347-414.pngt1466486449161ampwidth400ampheight347" sizes="auto, (max-width: 400px) 100vw, 400px" alt="AdvancedInstaller.png" width="400" height="347" /></a></p>
<p>There are plenty of other installers for Windows, including the popular and expensive <a href="http://www.flexerasoftware.com/products/installshield.htm" target="_blank" rel="noopener">InstallShield</a> tools. I think that Xojo packages up your application so nicely that you are not likely to need all the capabilities that the more sophisticated tools provide.</p>
<p>For more information about deploying to Microsoft Windows, refer to these documentation topics:</p>
<ul>
<li><a href="https://documentation.xojo.com/topics/application_deployment/desktop/desktop_app_deployment.html">Desktop Deployment</a></li>
<li><a href="http://documentation.xojo.com/topics/windows/creating_an_installer_with_the_inno_setup_script_(32-bit_apps).html">Inno Setup Script for 32-bit apps</a></li>
<li><a href="http://documentation.xojo.com/topics/windows/creating_an_installer_with_the_inno_setup_script_(64-bit_apps).html">Inno Setup Script for 64-bit apps</a></li>
<li><a href="https://youtu.be/OWpFc_PepgQ">Video: Windows Installers</a></li>
</ul>
<p>The Xojo Examples include sample Inno Setup scripts and some sample XojoScript you can use to kick it all off. These are located here:</p>
<ul>
<li>Examples/Platform-Specific/Windows/Making Installers</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.xojo.com/2014/06/12/creating-installers-for-windows-apps/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
