<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=DirectX_Installation_with_Web_Installer</id>
	<title>DirectX Installation with Web Installer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=DirectX_Installation_with_Web_Installer"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;action=history"/>
	<updated>2026-04-27T11:02:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=18256&amp;oldid=prev</id>
		<title>Anders: Reverted edits by 79.162.3.49 to last version by Seg telltale</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=18256&amp;oldid=prev"/>
		<updated>2010-03-15T17:04:04Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/Special:Contributions/79.162.3.49&quot; title=&quot;Special:Contributions/79.162.3.49&quot;&gt;79.162.3.49&lt;/a&gt; to last version by &lt;a href=&quot;/Special:Contributions/Seg_telltale&quot; title=&quot;Special:Contributions/Seg telltale&quot;&gt;Seg telltale&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:04, 15 March 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The obvious flaw is when a user has unreliable Internet access. The web installer isn&amp;#039;t very smart and will take a long time to exit if the Internet doesn&amp;#039;t exist for the end user. You will need to introduce messaging to the user that explains the update will work best with Internet access.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The obvious flaw is when a user has unreliable Internet access. The web installer isn&amp;#039;t very smart and will take a long time to exit if the Internet doesn&amp;#039;t exist for the end user. You will need to introduce messaging to the user that explains the update will work best with Internet access.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;==Installing DirectX== The process of using the web installer is the following: # Copy the Web Installer onto the user&amp;#039;s TEMP folder. # Run the installer from the TEMP folder. # Wait till DirectX is done updating. # Remove the locally stored installer from the TEMP folder. To start, you will need to declare the following variable early in the NSIS script: &amp;lt;highlight-nsis&amp;gt;Var DirectXSetupError&amp;lt;/highlight-nsis&amp;gt; To make things easier on yourself, create a new Section for DirectX.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; == Instalacja DirectX == proces przy uÅ¼yciu instalatora internetowej jest nastÄ™pujÄ…cy: # Copy Web Installer na uÅ¼ytkownika folderze TEMP. # Uruchom instalator z folderu Temp. # Zaczekaj, aÅ¼ DirectX dokonuje aktualizacji. # UsuniÄ™cie przechowywanej lokalnie instalatora z folderu Temp. Aby rozpoczÄ…Ä‡, naleÅ¼y zadeklarowaÄ‡ nastÄ™pujÄ…cÄ… zmiennÄ… na poczÄ…tku skryptu NSIS: &amp;lt;highlight-nsis&amp;gt; Var DirectXSetupError &amp;lt;/ highlight-nsis&amp;gt; Aby uÅ‚atwiÄ‡ ich na siebie, tworzÄ… nowÄ… sekcjÄ™ dla DirectX.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;NSIS will run the section while installing.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; NSIS bÄ™dzie dziaÅ‚aÅ‚ punkt podczas instalacji.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;The placement of the section could go anywhere, but it&amp;#039;s highly recommended that DirectX be &amp;#039;&amp;#039;the last install section&amp;#039;&amp;#039; after everything else is complete.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Umieszczanie sekcji moÅ¼na przejÅ›Ä‡ w dowolnym miejscu, ale bardzo zalecane DirectX byÄ‡&amp;#039;&amp;#039;ostatnio zainstalowaÄ‡ sekcji&amp;#039;&amp;#039;po wszystko, co jest kompletna.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;This is incase DirectX fails, your software will be installed. If you use component install UI, DirectX will show up as an entry.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; To jest okrywaÄ‡ DirectX nie, program zostanie zainstalowany. Przypadku korzystania z czÄ™Å›ci instalacji interfejsu DirectX bÄ™dÄ… wyÅ›wietlane jako wejÅ›cia.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;You can force on with &amp;quot;SectionIn RO&amp;quot;, or leave out if you wish the user to have the option to run the DirectX install. &amp;lt;highlight-nsis&amp;gt;Section &amp;quot;DirectX Install&amp;quot; SEC_DIRECTX SectionIn RO SetOutPath &amp;quot;$TEMP&amp;quot; File &amp;quot;dxwebsetup.exe&amp;quot; DetailPrint &amp;quot;Running DirectX Setup...&amp;quot; ExecWait &amp;#039;&amp;quot;$TEMP\dxwebsetup.exe&amp;quot; /Q&amp;#039; $DirectXSetupError DetailPrint &amp;quot;Finished DirectX Setup&amp;quot; Delete &amp;quot;$TEMP\dxwebsetup.exe&amp;quot; SetOutPath &amp;quot;$INSTDIR&amp;quot; SectionEnd&amp;lt;/highlight-nsis&amp;gt; &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; I redeclare the &amp;#039;&amp;#039;&amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $INSTDIR.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; MoÅ¼esz Å¼ycie z &amp;quot;SectionIn RO&amp;quot; lub pominÄ…Ä‡, jeÅ›li chcesz, aby uÅ¼ytkownik miaÅ‚ moÅ¼liwoÅ›Ä‡ uruchomienia instalacji DirectX. &amp;lt;highlight-nsis&amp;gt; Sekcji &amp;quot;Instalacja DirectX&amp;quot; SEC_DIRECTX SectionIn RO SetOutPath &amp;quot;$ temp&amp;quot; File &amp;quot;dxwebsetup. exe &amp;quot;DetailPrint&amp;quot; Running DirectX Setup ... &amp;quot;ExecWait&amp;quot; $ temp \ dxwebsetup.exe &amp;quot;/ Q&amp;quot; $ DirectXSetupError DetailPrint &amp;quot;ZakoÅ„czono DirectX Setup&amp;quot; Delete &amp;quot;$ temp \ dxwebsetup.exe&amp;quot; SetOutPath &amp;quot;$ INSTDIR&amp;quot; SectionEnd &amp;lt;/ highlight -nsis&amp;gt;&amp;#039;&amp;#039; &amp;#039;Uwaga:&amp;#039;&amp;#039;&amp;#039; I redeclare&amp;#039;&amp;#039; &amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $ INSTDIR.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;This way shortcuts and other functions using SetOutPath won&amp;#039;t get messed up.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Ten sposÃ³b skrÃ³tÃ³w i innych funkcji za pomocÄ… SetOutPath nie bÄ™dzie zawiedli.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;Alter this line accordingly. The variable $DirectXSetupError is used to force NSIS to pause while the DirectX setup is running.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Alter tej linii w zwiÄ…zku. ZmiennÄ… $ DirectXSetupError sÅ‚uÅ¼y do obowiÄ…zujÄ…cych NSIS wstrzymaÄ‡ konfiguracji DirectX jest uruchomiony.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;You can use the error code to further script error handling, but a variable is required to be there in order for NSIS to wait. I&amp;#039;ve also included &amp;#039;&amp;#039;&amp;#039;DetailPrint&amp;#039;&amp;#039;&amp;#039; lines to display the DirectX status in the install logs.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; MoÅ¼esz uÅ¼yÄ‡ kodu bÅ‚Ä™du do dalszej obrÃ³bki bÅ‚Ä…d skryptu, ale zmienna wymagana jest tam w celu NSIS czekaÄ‡. Ive &amp;#039;takÅ¼e&amp;#039;&amp;#039;&amp;#039; DetailPrint&amp;#039;&amp;#039; &amp;#039;linii do wyÅ›wietlania statusu DirectX zainstalowaÄ‡ dziennikÃ³w.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/del&gt;These strings can be localized to your liking.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Takie Å‚aÅ„cuchy mogÄ… byÄ‡ zlokalizowane do swoich potrzeb.&amp;lt;/span&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Installing DirectX==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The process of using the web installer is the following:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Copy the Web Installer onto the user&amp;#039;s TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Run the installer from the TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Wait till DirectX is done updating.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Remove the locally stored installer from the TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To start, you will need to declare the following variable early in the NSIS script:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;Var DirectXSetupError&amp;lt;/highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To make things easier on yourself, create a new Section for DirectX. NSIS will run the section while installing. The placement of the section could go anywhere, but it&amp;#039;s highly recommended that DirectX be &amp;#039;&amp;#039;the last install section&amp;#039;&amp;#039; after everything else is complete. This is incase DirectX fails, your software will be installed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you use component install UI, DirectX will show up as an entry. You can force on with &amp;quot;SectionIn RO&amp;quot;, or leave out if you wish the user to have the option to run the DirectX install.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;Section &amp;quot;DirectX Install&amp;quot; SEC_DIRECTX&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;SectionIn RO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;SetOutPath &amp;quot;$TEMP&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;File &amp;quot;dxwebsetup.exe&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;DetailPrint &amp;quot;Running DirectX Setup...&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;ExecWait &amp;#039;&amp;quot;$TEMP\dxwebsetup.exe&amp;quot; /Q&amp;#039; $DirectXSetupError&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;DetailPrint &amp;quot;Finished DirectX Setup&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;Delete &amp;quot;$TEMP\dxwebsetup.exe&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;SetOutPath &amp;quot;$INSTDIR&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SectionEnd&amp;lt;/highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; I redeclare the &amp;#039;&amp;#039;&amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $INSTDIR. This way shortcuts and other functions using SetOutPath won&amp;#039;t get messed up. Alter this line accordingly.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The variable $DirectXSetupError is used to force NSIS to pause while the DirectX setup is running. You can use the error code to further script error handling, but a variable is required to be there in order for NSIS to wait.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I&amp;#039;ve also included &amp;#039;&amp;#039;&amp;#039;DetailPrint&amp;#039;&amp;#039;&amp;#039; lines to display the DirectX status in the install logs. These strings can be localized to your liking.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See Also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See Also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-18240:rev-18256 --&gt;
&lt;/table&gt;</summary>
		<author><name>Anders</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=18240&amp;oldid=prev</id>
		<title>79.162.3.49: /* Installing DirectX */</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=18240&amp;oldid=prev"/>
		<updated>2010-03-13T20:55:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Installing DirectX&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:55, 13 March 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The obvious flaw is when a user has unreliable Internet access. The web installer isn&amp;#039;t very smart and will take a long time to exit if the Internet doesn&amp;#039;t exist for the end user. You will need to introduce messaging to the user that explains the update will work best with Internet access.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The obvious flaw is when a user has unreliable Internet access. The web installer isn&amp;#039;t very smart and will take a long time to exit if the Internet doesn&amp;#039;t exist for the end user. You will need to introduce messaging to the user that explains the update will work best with Internet access.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Installing DirectX==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;==Installing DirectX== The process of using the web installer is the following: # Copy the Web Installer onto the user&amp;#039;s TEMP folder. # Run the installer from the TEMP folder. # Wait till DirectX is done updating. # Remove the locally stored installer from the TEMP folder. To start, you will need to declare the following variable early in the NSIS script: &amp;lt;highlight-nsis&amp;gt;Var DirectXSetupError&amp;lt;/highlight-nsis&amp;gt; To make things easier on yourself, create a new Section for DirectX.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; == Instalacja DirectX == proces przy uÅ¼yciu instalatora internetowej jest nastÄ™pujÄ…cy: # Copy Web Installer na uÅ¼ytkownika folderze TEMP. # Uruchom instalator z folderu Temp. # Zaczekaj, aÅ¼ DirectX dokonuje aktualizacji. # UsuniÄ™cie przechowywanej lokalnie instalatora z folderu Temp. Aby rozpoczÄ…Ä‡, naleÅ¼y zadeklarowaÄ‡ nastÄ™pujÄ…cÄ… zmiennÄ… na poczÄ…tku skryptu NSIS: &amp;lt;highlight-nsis&amp;gt; Var DirectXSetupError &amp;lt;/ highlight-nsis&amp;gt; Aby uÅ‚atwiÄ‡ ich na siebie, tworzÄ… nowÄ… sekcjÄ™ dla DirectX.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;NSIS will run the section while installing.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; NSIS bÄ™dzie dziaÅ‚aÅ‚ punkt podczas instalacji.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;The placement of the section could go anywhere, but it&amp;#039;s highly recommended that DirectX be &amp;#039;&amp;#039;the last install section&amp;#039;&amp;#039; after everything else is complete.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Umieszczanie sekcji moÅ¼na przejÅ›Ä‡ w dowolnym miejscu, ale bardzo zalecane DirectX byÄ‡&amp;#039;&amp;#039;ostatnio zainstalowaÄ‡ sekcji&amp;#039;&amp;#039;po wszystko, co jest kompletna.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;This is incase DirectX fails, your software will be installed. If you use component install UI, DirectX will show up as an entry.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; To jest okrywaÄ‡ DirectX nie, program zostanie zainstalowany. Przypadku korzystania z czÄ™Å›ci instalacji interfejsu DirectX bÄ™dÄ… wyÅ›wietlane jako wejÅ›cia.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;You can force on with &amp;quot;SectionIn RO&amp;quot;, or leave out if you wish the user to have the option to run the DirectX install. &amp;lt;highlight-nsis&amp;gt;Section &amp;quot;DirectX Install&amp;quot; SEC_DIRECTX SectionIn RO SetOutPath &amp;quot;$TEMP&amp;quot; File &amp;quot;dxwebsetup.exe&amp;quot; DetailPrint &amp;quot;Running DirectX Setup...&amp;quot; ExecWait &amp;#039;&amp;quot;$TEMP\dxwebsetup.exe&amp;quot; /Q&amp;#039; $DirectXSetupError DetailPrint &amp;quot;Finished DirectX Setup&amp;quot; Delete &amp;quot;$TEMP\dxwebsetup.exe&amp;quot; SetOutPath &amp;quot;$INSTDIR&amp;quot; SectionEnd&amp;lt;/highlight-nsis&amp;gt; &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; I redeclare the &amp;#039;&amp;#039;&amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $INSTDIR.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; MoÅ¼esz Å¼ycie z &amp;quot;SectionIn RO&amp;quot; lub pominÄ…Ä‡, jeÅ›li chcesz, aby uÅ¼ytkownik miaÅ‚ moÅ¼liwoÅ›Ä‡ uruchomienia instalacji DirectX. &amp;lt;highlight-nsis&amp;gt; Sekcji &amp;quot;Instalacja DirectX&amp;quot; SEC_DIRECTX SectionIn RO SetOutPath &amp;quot;$ temp&amp;quot; File &amp;quot;dxwebsetup. exe &amp;quot;DetailPrint&amp;quot; Running DirectX Setup ... &amp;quot;ExecWait&amp;quot; $ temp \ dxwebsetup.exe &amp;quot;/ Q&amp;quot; $ DirectXSetupError DetailPrint &amp;quot;ZakoÅ„czono DirectX Setup&amp;quot; Delete &amp;quot;$ temp \ dxwebsetup.exe&amp;quot; SetOutPath &amp;quot;$ INSTDIR&amp;quot; SectionEnd &amp;lt;/ highlight -nsis&amp;gt;&amp;#039;&amp;#039; &amp;#039;Uwaga:&amp;#039;&amp;#039;&amp;#039; I redeclare&amp;#039;&amp;#039; &amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $ INSTDIR.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;This way shortcuts and other functions using SetOutPath won&amp;#039;t get messed up.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Ten sposÃ³b skrÃ³tÃ³w i innych funkcji za pomocÄ… SetOutPath nie bÄ™dzie zawiedli.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;Alter this line accordingly. The variable $DirectXSetupError is used to force NSIS to pause while the DirectX setup is running.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Alter tej linii w zwiÄ…zku. ZmiennÄ… $ DirectXSetupError sÅ‚uÅ¼y do obowiÄ…zujÄ…cych NSIS wstrzymaÄ‡ konfiguracji DirectX jest uruchomiony.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;You can use the error code to further script error handling, but a variable is required to be there in order for NSIS to wait. I&amp;#039;ve also included &amp;#039;&amp;#039;&amp;#039;DetailPrint&amp;#039;&amp;#039;&amp;#039; lines to display the DirectX status in the install logs.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; MoÅ¼esz uÅ¼yÄ‡ kodu bÅ‚Ä™du do dalszej obrÃ³bki bÅ‚Ä…d skryptu, ale zmienna wymagana jest tam w celu NSIS czekaÄ‡. Ive &amp;#039;takÅ¼e&amp;#039;&amp;#039;&amp;#039; DetailPrint&amp;#039;&amp;#039; &amp;#039;linii do wyÅ›wietlania statusu DirectX zainstalowaÄ‡ dziennikÃ³w.&amp;lt;/span&amp;gt; &amp;lt;span onmouseover=&amp;quot;_tipon(this)&amp;quot; onmouseout=&amp;quot;_tipoff()&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;google-src-text&amp;quot; style=&amp;quot;direction: ltr; text-align: left&amp;quot;&amp;gt;&lt;/ins&gt;These strings can be localized to your liking.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; Takie Å‚aÅ„cuchy mogÄ… byÄ‡ zlokalizowane do swoich potrzeb.&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The process of using the web installer is the following:&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Copy the Web Installer onto the user&amp;#039;s TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Run the installer from the TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Wait till DirectX is done updating.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Remove the locally stored installer from the TEMP folder.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To start, you will need to declare the following variable early in the NSIS script:&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;Var DirectXSetupError&amp;lt;/highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To make things easier on yourself, create a new Section for DirectX. NSIS will run the section while installing. The placement of the section could go anywhere, but it&amp;#039;s highly recommended that DirectX be &amp;#039;&amp;#039;the last install section&amp;#039;&amp;#039; after everything else is complete. This is incase DirectX fails, your software will be installed.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you use component install UI, DirectX will show up as an entry. You can force on with &amp;quot;SectionIn RO&amp;quot;, or leave out if you wish the user to have the option to run the DirectX install.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;Section &amp;quot;DirectX Install&amp;quot; SEC_DIRECTX&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;SectionIn RO&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;SetOutPath &amp;quot;$TEMP&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;File &amp;quot;dxwebsetup.exe&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;DetailPrint &amp;quot;Running DirectX Setup...&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;ExecWait &amp;#039;&amp;quot;$TEMP\dxwebsetup.exe&amp;quot; /Q&amp;#039; $DirectXSetupError&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;DetailPrint &amp;quot;Finished DirectX Setup&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;Delete &amp;quot;$TEMP\dxwebsetup.exe&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;SetOutPath &amp;quot;$INSTDIR&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SectionEnd&amp;lt;/highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; I redeclare the &amp;#039;&amp;#039;&amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $INSTDIR. This way shortcuts and other functions using SetOutPath won&amp;#039;t get messed up. Alter this line accordingly.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The variable $DirectXSetupError is used to force NSIS to pause while the DirectX setup is running. You can use the error code to further script error handling, but a variable is required to be there in order for NSIS to wait.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I&amp;#039;ve also included &amp;#039;&amp;#039;&amp;#039;DetailPrint&amp;#039;&amp;#039;&amp;#039; lines to display the DirectX status in the install logs. These strings can be localized to your liking.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See Also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See Also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-17510:rev-18240 --&gt;
&lt;/table&gt;</summary>
		<author><name>79.162.3.49</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=17510&amp;oldid=prev</id>
		<title>Seg telltale: Created page with &#039;The following is for NSIS installations that need DirectX and you assume the user to be connected to the Internet. While this isn&#039;t completely full-proof, it&#039;s better than adding…&#039;</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=DirectX_Installation_with_Web_Installer&amp;diff=17510&amp;oldid=prev"/>
		<updated>2009-08-10T22:06:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;The following is for NSIS installations that need DirectX and you assume the user to be connected to the Internet. While this isn&amp;#039;t completely full-proof, it&amp;#039;s better than adding…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The following is for NSIS installations that need DirectX and you assume the user to be connected to the Internet. While this isn&amp;#039;t completely full-proof, it&amp;#039;s better than adding over 100mb to your install file.&lt;br /&gt;
&lt;br /&gt;
For off-line installers, especially when distributed via DVD, CD-ROM or other fixed media, see [[DirectX Installation for Fixed Media]].&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
Obtain the latest [http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3 DirectX End-User Runtime Web Installer] from Microsoft. It&amp;#039;s very small as it dynamically pulls the content it needs when run.&lt;br /&gt;
&lt;br /&gt;
This script also assumes the NSIS installer is requesting Admin privileges in the form of &amp;#039;&amp;#039;&amp;#039;RequestExecutionLevel&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;admin&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==About the Web Installer==&lt;br /&gt;
&lt;br /&gt;
When you run the Web installer, the installer will do the following:&lt;br /&gt;
&lt;br /&gt;
# Examine the user&amp;#039;s current DirectX install.&lt;br /&gt;
# Obtain a list of all available DirectX files from the Microsoft servers.&lt;br /&gt;
# Compare the local install with the latest available.&lt;br /&gt;
# Download files not existent on the user computer.&lt;br /&gt;
# Install the new files.&lt;br /&gt;
# Clean up the existing DirectX install.&lt;br /&gt;
&lt;br /&gt;
The obvious flaw is when a user has unreliable Internet access. The web installer isn&amp;#039;t very smart and will take a long time to exit if the Internet doesn&amp;#039;t exist for the end user. You will need to introduce messaging to the user that explains the update will work best with Internet access.&lt;br /&gt;
&lt;br /&gt;
==Installing DirectX==&lt;br /&gt;
&lt;br /&gt;
The process of using the web installer is the following:&lt;br /&gt;
&lt;br /&gt;
# Copy the Web Installer onto the user&amp;#039;s TEMP folder.&lt;br /&gt;
# Run the installer from the TEMP folder.&lt;br /&gt;
# Wait till DirectX is done updating.&lt;br /&gt;
# Remove the locally stored installer from the TEMP folder.&lt;br /&gt;
&lt;br /&gt;
To start, you will need to declare the following variable early in the NSIS script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;Var DirectXSetupError&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make things easier on yourself, create a new Section for DirectX. NSIS will run the section while installing. The placement of the section could go anywhere, but it&amp;#039;s highly recommended that DirectX be &amp;#039;&amp;#039;the last install section&amp;#039;&amp;#039; after everything else is complete. This is incase DirectX fails, your software will be installed.&lt;br /&gt;
&lt;br /&gt;
If you use component install UI, DirectX will show up as an entry. You can force on with &amp;quot;SectionIn RO&amp;quot;, or leave out if you wish the user to have the option to run the DirectX install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;Section &amp;quot;DirectX Install&amp;quot; SEC_DIRECTX&lt;br /&gt;
&lt;br /&gt;
 SectionIn RO&lt;br /&gt;
&lt;br /&gt;
 SetOutPath &amp;quot;$TEMP&amp;quot;&lt;br /&gt;
 File &amp;quot;dxwebsetup.exe&amp;quot;&lt;br /&gt;
 DetailPrint &amp;quot;Running DirectX Setup...&amp;quot;&lt;br /&gt;
 ExecWait &amp;#039;&amp;quot;$TEMP\dxwebsetup.exe&amp;quot; /Q&amp;#039; $DirectXSetupError&lt;br /&gt;
 DetailPrint &amp;quot;Finished DirectX Setup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Delete &amp;quot;$TEMP\dxwebsetup.exe&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SetOutPath &amp;quot;$INSTDIR&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
SectionEnd&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; I redeclare the &amp;#039;&amp;#039;&amp;#039;SetOutPath&amp;#039;&amp;#039;&amp;#039; to $INSTDIR. This way shortcuts and other functions using SetOutPath won&amp;#039;t get messed up. Alter this line accordingly.&lt;br /&gt;
&lt;br /&gt;
The variable $DirectXSetupError is used to force NSIS to pause while the DirectX setup is running. You can use the error code to further script error handling, but a variable is required to be there in order for NSIS to wait.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve also included &amp;#039;&amp;#039;&amp;#039;DetailPrint&amp;#039;&amp;#039;&amp;#039; lines to display the DirectX status in the install logs. These strings can be localized to your liking.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://msdn.microsoft.com/library/bb174600(VS.85).aspx Installing DirectX with DirectSetup]&lt;br /&gt;
* [http://msdn.microsoft.com/directx/ DirectX SDK Documentation]&lt;br /&gt;
&lt;br /&gt;
[[Category:DirectX|Installation with Web Installer, DirectX]]&lt;br /&gt;
[[Category:Code_Examples]]&lt;/div&gt;</summary>
		<author><name>Seg telltale</name></author>
	</entry>
</feed>