<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://modenc2.markjfox.net/history/Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge?feed=atom</id>
	<title>Creating a One-Click-Installer LAN version of Yuri&#039;s Revenge - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://modenc2.markjfox.net/history/Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/history/Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge"/>
	<updated>2026-07-25T16:43:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge&amp;diff=7514&amp;oldid=prev</id>
		<title>MarkJFox: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge&amp;diff=7514&amp;oldid=prev"/>
		<updated>2025-03-31T19:39:37Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:39, 31 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>MarkJFox</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge&amp;diff=7513&amp;oldid=prev</id>
		<title>en&gt;Gordon-creAtive: First draft</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Creating_a_One-Click-Installer_LAN_version_of_Yuri%27s_Revenge&amp;diff=7513&amp;oldid=prev"/>
		<updated>2012-05-31T17:37:38Z</updated>

		<summary type="html">&lt;p&gt;First draft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This tutorial describes the necessary steps to create a One-Click-Installer version of Yuri&amp;#039;s Revenge which is intended for LAN play on modern computers running e.g. Windows 7 and lacking IPX support therefore. This document assumes you&amp;#039;re using the english version of the game. This is a fist working draft, but it can be improved on several points. feel free to contribute.&lt;br /&gt;
==Putting together the original game files==&lt;br /&gt;
* Insert your Red Alert 2 disk an install the game. The serial entered during the installation will not be distributed with the final package, so you can safely use your original one. Only install the game itself, uncheck all other options like Westwood Shared Internet Components.&lt;br /&gt;
* Install the last official patch (1.006). It can be found [http://ftp.games.skynet.be/pub/ftp.westwood.com/redalert2/update/RA21006EN.EXE here].&lt;br /&gt;
* Copy the following files from the root of the Allied dics to the directory, where &amp;#039;&amp;#039;gamemd.exe&amp;#039;&amp;#039; is located: &amp;#039;&amp;#039;MAPS01.MIX&amp;#039;&amp;#039;, &amp;#039;&amp;#039;MULTI.MIX&amp;#039;&amp;#039;, &amp;#039;&amp;#039;THEME.MIX&amp;#039;&amp;#039;, &amp;#039;&amp;#039;WDT.MIX&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MOVIES01.MIX&amp;#039;&amp;#039;.&lt;br /&gt;
* Copy the following files from the root of the Soviet dics to the directory, where &amp;#039;&amp;#039;gamemd.exe&amp;#039;&amp;#039; is located: &amp;#039;&amp;#039;MAPS02.MIX&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MOVIES02.MIX&amp;#039;&amp;#039;.&lt;br /&gt;
* Continue by installing the Yuri&amp;#039;s Revenge add-on. The same rules apply.&lt;br /&gt;
* Apply the latest patch (1.001) which can be found [http://ftp.games.skynet.be/pub/ftp.westwood.com/redalert2/update/YURI-1001-ENGLISH.EXE here].&lt;br /&gt;
* Copy the following files from the root of your Yuri&amp;#039;s revenge disc to the directory, where &amp;#039;&amp;#039;gamemd.exe&amp;#039;&amp;#039; is located: &amp;#039;&amp;#039;MAPS03MD.MIX&amp;#039;&amp;#039;, &amp;#039;&amp;#039;MULTIMD.MIX&amp;#039;&amp;#039;, &amp;#039;&amp;#039;THEMEMD.MIX&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MOVMD03.MIX&amp;#039;&amp;#039;.&lt;br /&gt;
==Applying community patches==&lt;br /&gt;
* Install [http://marshall.strategy-x.com/LaunchBase/LB_Setup.exe LaunchBase].&lt;br /&gt;
* Run LaunchBase, click on &amp;quot;Check for Updates/New Mods&amp;quot; in the MenuBar. Install the so-called &amp;quot;YR 1.002 Unofficial Mini-Patch&amp;quot;. Start this mod from LaunchBase. Alt-Tab out of the game and &amp;#039;&amp;#039;&amp;#039;kill&amp;#039;&amp;#039;&amp;#039; LaunchBase from the Task&amp;#039;Manager. Never run it again after that! Remove it&amp;#039;s folder.&lt;br /&gt;
* Include [http://www.understorm.net/downloads/ts_ra2_lanpatch_1_00.zip?attredirects=0&amp;amp;d=1 this] DLL in the gamemd.exe directory. It will emulate the IPX protocol ontop UDP and enable LAN play on modern systems.&lt;br /&gt;
* Apply cracks to both games.&lt;br /&gt;
* Apply [http://www.stuffhost.de/files/cnc/ this] patch which optimizes the rendering routines.&lt;br /&gt;
* Get [http://www.cncgames.com/downloads/smurf&amp;#039;sutilities.zip Smurf utilities]. &amp;#039;&amp;#039;&amp;#039;Only&amp;#039;&amp;#039;&amp;#039; copy &amp;#039;&amp;#039;westwood.bik&amp;#039;&amp;#039; to your gamemd.exe folder. Duplicate the file and anme it &amp;#039;&amp;#039;ea_wwlogo.bik&amp;#039;&amp;#039;.&lt;br /&gt;
==Optional steps==&lt;br /&gt;
* [http://ftp.games.skynet.be/pub/ftp.westwood.com/redalert2/freemaps/ Download] and install the official mappacks to the directory where &amp;#039;&amp;#039;gamemd.exe&amp;#039;&amp;#039; is located.&lt;br /&gt;
&amp;lt;!--* [http://tx.strategy-x.com/download/download.php?id=TX_v202a Download] and install the Terrain Expansion as well as the corresponding maps from [http://tx.strategy-x.com/?p=multi here].--&amp;gt;&lt;br /&gt;
* Install the assault mappacks found [http://dc.strategy-x.com/mirrors/cgen/assaultmaps01a.zip here] and [http://dc.strategy-x.com/mirrors/cgen/assaultmaps02a.zip here].&lt;br /&gt;
* Include [http://blog.obelisk.ro/2010/09/resolution-fix-for-red-alert-2-yuris.html this] resolution fixer in the root directory.&lt;br /&gt;
* Include the &amp;quot;Menu Fix&amp;quot; executable downloadable [http://www.ppmsite.com/forum/viewtopic.php?p=452153&amp;amp;sid=e82c7c611e7b225517dcd54b77226abe#452153 here] in the root folder, so people using Intel graphics and encountering problems can use this tool to fix them.&lt;br /&gt;
==Creating the installer==&lt;br /&gt;
* [http://nsis.sourceforge.net/Main_Page Download] and install NSIS.&lt;br /&gt;
* Create a plain .nis file in the directory above your Red Alert directory.&lt;br /&gt;
* Paste the following code in the file:&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ;; Generate a random number using the RtlGenRandom api&lt;br /&gt;
 ;; P1 :out: Random number&lt;br /&gt;
 ;; P2 :in:  Minimum value&lt;br /&gt;
 ;; P3 :in:  Maximum value&lt;br /&gt;
 ;; min/max P2 and P3 values = -2 147 483 647 / 2 147 483 647&lt;br /&gt;
 ;; max range = 2 147 483 647 (31-bit)&lt;br /&gt;
 ;; (Taken from http://nsis.sourceforge.net/Rnd,_Rnd64)&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 !define Rnd &amp;quot;!insertmacro _Rnd&amp;quot;&lt;br /&gt;
 !macro _Rnd _RetVal_ _Min_ _Max_&lt;br /&gt;
   Push &amp;quot;${_Max_}&amp;quot;&lt;br /&gt;
   Push &amp;quot;${_Min_}&amp;quot;&lt;br /&gt;
   Call Rnd&lt;br /&gt;
   Pop ${_RetVal_}&lt;br /&gt;
 !macroend&lt;br /&gt;
 Function Rnd&lt;br /&gt;
   Exch $0  ;; Min / return value&lt;br /&gt;
   Exch&lt;br /&gt;
   Exch $1  ;; Max / random value&lt;br /&gt;
   Push &amp;quot;$3&amp;quot;  ;; Max - Min range&lt;br /&gt;
   Push &amp;quot;$4&amp;quot;  ;; random value buffer&lt;br /&gt;
 &lt;br /&gt;
   IntOp $3 $1 - $0 ;; calculate range&lt;br /&gt;
   IntOp $3 $3 + 1&lt;br /&gt;
   System::Call &amp;#039;*(l) i .r4&amp;#039;&lt;br /&gt;
   System::Call &amp;#039;advapi32::SystemFunction036(i r4, i 4)&amp;#039;  ;; RtlGenRandom&lt;br /&gt;
   System::Call &amp;#039;*$4(l .r1)&amp;#039;&lt;br /&gt;
   System::Free $4&lt;br /&gt;
   ;; fit value within range&lt;br /&gt;
   System::Int64Op $1 * $3&lt;br /&gt;
   Pop $3&lt;br /&gt;
   System::Int64Op $3 / 0xFFFFFFFF&lt;br /&gt;
   Pop $3&lt;br /&gt;
   IntOp $0 $3 + $0  ;; index with minimum value&lt;br /&gt;
 &lt;br /&gt;
   Pop $4&lt;br /&gt;
   Pop $3&lt;br /&gt;
   Pop $1&lt;br /&gt;
   Exch $0&lt;br /&gt;
  FunctionEnd&lt;br /&gt;
 &lt;br /&gt;
  Section &amp;quot;Installer Section&amp;quot;&lt;br /&gt;
 	SetOutPath $INSTDIR&lt;br /&gt;
 	File /r RA2YR ;The name of your YR folder&lt;br /&gt;
 	${Rnd} $0 10000 99999&lt;br /&gt;
 	StrCpy $1 &amp;quot;$0&amp;quot;&lt;br /&gt;
 	${Rnd} $0 10000 99999&lt;br /&gt;
 	StrCpy $1 &amp;quot;$1$0&amp;quot;&lt;br /&gt;
 	${Rnd} $0 10000 99999&lt;br /&gt;
 	StrCpy $1 &amp;quot;$1$0&amp;quot;&lt;br /&gt;
 	${Rnd} $0 10000 99999&lt;br /&gt;
  	StrCpy $1 &amp;quot;$1$0&amp;quot;&lt;br /&gt;
 	${Rnd} $0 10 99&lt;br /&gt;
 	StrCpy $1 &amp;quot;$1$0&amp;quot;&lt;br /&gt;
 	WriteRegStr HKLM &amp;quot;Software\Westwood\Red Alert 2&amp;quot; &amp;quot;Serial&amp;quot; &amp;quot;$1&amp;quot;&lt;br /&gt;
 	WriteRegStr HKLM &amp;quot;Software\Westwood\Yuri&amp;#039;s Revenge&amp;quot; &amp;quot;Serial&amp;quot; &amp;quot;$1&amp;quot;&lt;br /&gt;
 SectionEnd&lt;br /&gt;
 Page directory&lt;br /&gt;
 Page instfiles&lt;br /&gt;
 OutFile RA2YR2.exe ;Filename of the installer&lt;br /&gt;
* Customize the script, see comments for help.&lt;br /&gt;
* Compile. You&amp;#039;re done.&lt;/div&gt;</summary>
		<author><name>en&gt;Gordon-creAtive</name></author>
	</entry>
</feed>