Merge pull request #6793 from Mailaender/bleed-exc-wrap

Moved the crash monitors outside of the game executables
This commit is contained in:
Paul Chote
2014-10-20 20:05:22 +13:00
18 changed files with 147 additions and 153 deletions

View File

@@ -69,7 +69,6 @@ INSTALL_DATA = $(INSTALL) -m644
# program targets
CORE = rsdl2 rnull game utility ralint
TOOLS = editor tsbuild crashdialog
VERSION = $(shell git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || echo git-`git rev-parse --short HEAD`)
@@ -207,14 +206,14 @@ tsbuild: OpenRA.TilesetBuilder.FormBuilder.resources OpenRA.TilesetBuilder.FormN
##### Launchers / Utilities #####
crashdialog_SRCS := $(shell find OpenRA.CrashDialog/ -iname '*.cs')
crashdialog_TARGET = OpenRA.CrashDialog.exe
crashdialog_KIND = exe
crashdialog_DEPS = $(game_TARGET)
crashdialog_LIBS = $(COMMON_LIBS) $(crashdialog_DEPS) System.Windows.Forms.dll
crashdialog_FLAGS = -win32icon:OpenRA.Game/OpenRA.ico
PROGRAMS += crashdialog
crashdialog: $(crashdialog_TARGET)
gamemonitor_SRCS := $(shell find OpenRA.GameMonitor/ -iname '*.cs')
gamemonitor_TARGET = OpenRA.exe
gamemonitor_KIND = winexe
gamemonitor_DEPS = $(game_TARGET)
gamemonitor_LIBS = $(COMMON_LIBS) $(gamemonitor_DEPS) System.Windows.Forms.dll
gamemonitor_FLAGS = -win32icon:OpenRA.Game/OpenRA.ico
PROGRAMS += gamemonitor
gamemonitor: $(gamemonitor_TARGET)
# Backend for the launcher apps - queries game/mod info and applies actions to an install
utility_SRCS := $(shell find OpenRA.Utility/ -iname '*.cs')
@@ -257,9 +256,9 @@ default: cli-dependencies core
core: game renderers mods utility ralint
tools: editor tsbuild crashdialog
tools: editor tsbuild gamemonitor
package: dependencies core editor crashdialog docs version
package: dependencies core editor gamemonitor docs version
mods: mod_common mod_ra mod_cnc mod_d2k mod_ts
@@ -344,6 +343,7 @@ install-tools: tools
@-echo "Installing OpenRA tools to $(DATA_INSTALL_DIR)"
@$(INSTALL_DIR) "$(DATA_INSTALL_DIR)"
@$(INSTALL_PROGRAM) $(foreach prog,$(TOOLS),$($(prog)_TARGET)) "$(DATA_INSTALL_DIR)"
@$(RM) $(DATA_INSTALL_DIR)/OpenRA.TilesetBuilder.exe # TODO: won't work outside the source tree
install-linux-icons:
@$(INSTALL_DIR) "$(DESTDIR)$(datadir)/icons/"
@@ -357,7 +357,14 @@ install-linux-desktop:
install-linux-scripts:
@echo "#!/bin/sh" > openra
@echo 'cd "$(gameinstalldir)"' >> openra
@echo 'exec mono OpenRA.Game.exe "$$@"' >> openra
@echo 'mono OpenRA.Game.exe "$$@"' >> openra
@echo 'if [ $$? != 0 ]' >> openra
@echo 'then' >> openra
@echo 'ZENITY=`which zenity` || echo "OpenRA needs zenity installed to display a graphical error dialog. See ~/.openra. for log files."' >> openra
@echo '$$ZENITY --question --title "OpenRA" --text "OpenRA has encountered a fatal error.\nLog Files are available in ~/.openra." --ok-label "Quit" --cancel-label "View FAQ" || xdg-open https://github.com/OpenRA/OpenRA/wiki/FAQ' >> openra
@echo 'exit 1' >> openra
@echo 'fi' >> openra
@$(INSTALL_DIR) "$(BIN_INSTALL_DIR)"
@$(INSTALL_PROGRAM) -m +rx openra "$(BIN_INSTALL_DIR)"
@-$(RM) openra

View File

@@ -127,48 +127,5 @@ namespace OpenRA
return path;
}
public static void ShowFatalErrorDialog()
{
var process = "OpenRA.CrashDialog.exe";
var args = "";
if (CurrentPlatform == PlatformType.OSX)
{
// Winforms requires X11 under OSX, which may not exist.
// Show a native dialog using applescript instead.
var title = "Fatal Error";
var logsButton = "View Logs";
var faqButton = "View FAQ";
var quitButton = "Quit";
var message = "OpenRA has encountered a fatal error.\nRefer to the crash logs and FAQ for more information.";
var faqPath = Game.Settings.Debug.FatalErrorDialogFaq;
var logsPath = "file://" + Platform.SupportDir + "Logs" + Path.DirectorySeparatorChar;
var iconPath = new [] { "./OpenRA.icns", "./packaging/osx/template.app/Contents/Resources/OpenRA.icns" }.FirstOrDefault(f => File.Exists(f));
var icon = iconPath != null ? "with icon alias (POSIX file \\\"file://{0}\\\")".F(Environment.CurrentDirectory + "/" + iconPath) : "";
process = "/usr/bin/osascript";
args = (
"-e \"repeat\"\n" +
"-e \" tell application \\\"Finder\\\"\"\n" +
"-e \" set question to display dialog \\\"{1}\\\" with title \\\"{0}\\\" {2} buttons {{\\\"{3}\\\", \\\"{5}\\\", \\\"{7}\\\"}} default button 3\"\n" +
"-e \" if button returned of question is equal to \\\"{3}\\\" then open (POSIX file \\\"{4}\\\")\"\n" +
"-e \" if button returned of question is equal to \\\"{5}\\\" then open location \\\"{6}\\\"\"\n" +
"-e \" if button returned of question is equal to \\\"{7}\\\" then exit repeat\"\n" +
"-e \" activate\"\n" +
"-e \" end tell\"\n" +
"-e \"end repeat\""
).F(title, message, icon, logsButton, logsPath, faqButton, faqPath, quitButton);
}
if (CurrentPlatform == PlatformType.Linux)
process = "error-dialog.sh";
var psi = new ProcessStartInfo(process, args);
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
Process.Start(psi);
}
}
}

View File

@@ -72,9 +72,6 @@ namespace OpenRA
public bool SanityCheckUnsyncedCode = false;
public int Samples = 25;
public bool IgnoreVersionMismatch = false;
public bool ShowFatalErrorDialog = true;
public string FatalErrorDialogFaq = "http://wiki.openra.net/FAQ";
}
public class GraphicSettings

View File

@@ -60,12 +60,6 @@ namespace OpenRA
var rpt = BuildExceptionReport(e).ToString();
Log.Write("exception", "{0}", rpt);
Console.Error.WriteLine(rpt);
if (Game.Settings.Debug.ShowFatalErrorDialog && !Game.Settings.Server.Dedicated)
{
Game.Renderer.Device.Dispose();
Platform.ShowFatalErrorDialog();
}
}
static StringBuilder BuildExceptionReport(Exception e)

View File

@@ -9,23 +9,45 @@
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Media;
using System.Reflection;
using System.Windows.Forms;
namespace OpenRA.CrashDialog
namespace OpenRA
{
class FatalErrorDialog
class GameMonitor
{
static Settings settings;
static string processName = "OpenRA.Game.exe";
static Process gameProcess;
[STAThread]
public static void Main(string[] args)
static void Main(string[] args)
{
settings = new Settings(Platform.ResolvePath("^", "settings.yaml"), new Arguments());
var psi = new ProcessStartInfo(processName, string.Join(" ", args));
try
{
gameProcess = Process.Start(psi);
}
catch
{
return;
}
if (gameProcess == null)
return;
gameProcess.EnableRaisingEvents = true;
gameProcess.Exited += GameProcessExited;
Application.Run();
}
static void ShowErrorDialog()
{
var form = new Form
{
Size = new Size(315, 140),
@@ -34,6 +56,7 @@ namespace OpenRA.CrashDialog
MaximizeBox = false,
FormBorderStyle = FormBorderStyle.FixedDialog,
StartPosition = FormStartPosition.CenterScreen,
TopLevel = true,
Icon = Icon.ExtractAssociatedIcon(Assembly.GetExecutingAssembly().Location)
};
@@ -44,69 +67,78 @@ namespace OpenRA.CrashDialog
Text = "OpenRA has encountered a fatal error and must close.{0}Refer to the crash logs and FAQ for more information.".F(Environment.NewLine),
TextAlign = ContentAlignment.TopCenter
};
form.Controls.Add(notice);
var dontShowAgain = new CheckBox
{
Location = new Point(25, 50),
AutoSize = true,
Text = "Don't show this message again",
};
form.Controls.Add(dontShowAgain);
var viewLogs = new Button
{
Location = new Point(10, 80),
Size = new Size(75, 23),
Text = "View Logs"
};
viewLogs.Click += ViewLogsClicked;
form.Controls.Add(viewLogs);
var viewFaq = new Button
{
Location = new Point(90, 80),
Size = new Size(75, 23),
Text = "View FAQ"
};
viewFaq.Click += ViewFaqClicked;
form.Controls.Add(viewFaq);
var quit = new Button
{
Location = new Point(225, 80),
Size = new Size(75, 23),
Text = "Quit"
Text = "Quit",
DialogResult = DialogResult.Cancel
};
quit.DialogResult = DialogResult.Cancel;
form.Controls.Add(notice);
form.Controls.Add(viewLogs);
form.Controls.Add(viewFaq);
form.Controls.Add(quit);
form.FormClosed += (sender, e) =>
{
settings.Debug.ShowFatalErrorDialog = !dontShowAgain.Checked;
settings.Save();
};
viewLogs.Click += ViewLogsClicked;
viewFaq.Click += ViewFaqClicked;
form.FormClosed += FormClosed;
SystemSounds.Exclamation.Play();
form.ShowDialog();
}
static void GameProcessExited(object sender, EventArgs e)
{
if (gameProcess.ExitCode != 0)
ShowErrorDialog();
Exit();
}
static void ViewLogsClicked(object sender, EventArgs e)
{
try
{
Process.Start(Platform.ResolvePath("^", "Logs"));
}
catch { }
catch
{ }
}
static void ViewFaqClicked(object sender, EventArgs e)
{
try
{
Process.Start(settings.Debug.FatalErrorDialogFaq);
Process.Start("http://wiki.openra.net/FAQ");
}
catch { }
catch
{ }
}
static void FormClosed(object sender, EventArgs e)
{
Exit();
}
static void Exit()
{
Environment.Exit(0);
}
}
}

View File

@@ -2,11 +2,11 @@
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{47F1B0EE-EB35-47F2-93E4-273C70909157}</ProjectGuid>
<OutputType>Exe</OutputType>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{68295755-7902-4602-AC2C-9A8AC36D5EF7}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>OpenRA</RootNamespace>
<AssemblyName>OpenRA.CrashDialog</AssemblyName>
<AssemblyName>OpenRA</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
@@ -34,7 +34,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="GameMonitor.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -466,7 +466,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic
BindCheckboxPref(panel, "PERFGRAPH_CHECKBOX", ds, "PerfGraph");
BindCheckboxPref(panel, "CHECKUNSYNCED_CHECKBOX", ds, "SanityCheckUnsyncedCode");
BindCheckboxPref(panel, "BOTDEBUG_CHECKBOX", ds, "BotDebug");
BindCheckboxPref(panel, "CRASH_DIALOG_CHECKBOX", ds, "ShowFatalErrorDialog");
BindCheckboxPref(panel, "FETCH_NEWS_CHECKBOX", gs, "FetchNews");
return () => { };
@@ -487,7 +486,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic
ds.PerfGraph = dds.PerfGraph;
ds.SanityCheckUnsyncedCode = dds.SanityCheckUnsyncedCode;
ds.BotDebug = dds.BotDebug;
ds.ShowFatalErrorDialog = dds.ShowFatalErrorDialog;
};
}

View File

@@ -71,7 +71,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "System Lua scripts", "Syste
lua\stacktraceplus.lua = lua\stacktraceplus.lua
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.CrashDialog", "OpenRA.CrashDialog\OpenRA.CrashDialog.csproj", "{47F1B0EE-EB35-47F2-93E4-273C70909157}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.GameMonitor", "OpenRA.GameMonitor\OpenRA.GameMonitor.csproj", "{68295755-7902-4602-AC2C-9A8AC36D5EF7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -102,8 +102,8 @@ Global
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|x86.Build.0 = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.ActiveCfg = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.Build.0 = Debug|x86
{47F1B0EE-EB35-47F2-93E4-273C70909157}.Debug|x86.ActiveCfg = Debug|x86
{47F1B0EE-EB35-47F2-93E4-273C70909157}.Debug|x86.Build.0 = Debug|x86
{68295755-7902-4602-AC2C-9A8AC36D5EF7}.Debug|x86.ActiveCfg = Debug|x86
{68295755-7902-4602-AC2C-9A8AC36D5EF7}.Debug|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,3 +0,0 @@
#!/bin/sh
ZENITY=`which zenity` || echo "OpenRA needs zenity installed to display a graphical error dialog. See ~/.openra. for log files."
$ZENITY --question --title "OpenRA" --text "OpenRA has encountered a fatal error.\nLog Files are available in ~/.openra." --ok-label "Quit" --cancel-label "View FAQ" || xdg-open https://github.com/OpenRA/OpenRA/wiki/FAQ

View File

@@ -1,3 +1,9 @@
#!/bin/sh
# launch script (executed by Desura)
exec mono OpenRA.Game.exe Server.Dedicated=False Server.DedicatedLoop=False "$@"
mono OpenRA.Game.exe Server.Dedicated=False Server.DedicatedLoop=False "$@"
if [ $? != 0 ]
then
ZENITY=`which zenity` || echo "OpenRA needs zenity installed to display a graphical error dialog. See ~/.openra. for log files."
$ZENITY --question --title "OpenRA" --text "OpenRA has encountered a fatal error.\nLog Files are available in ~/.openra." --ok-label "Quit" --cancel-label "View FAQ" || xdg-open https://github.com/OpenRA/OpenRA/wiki/FAQ
exit 1
fi

View File

@@ -437,13 +437,6 @@ Container@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Enable Network Discovery (UPnP)
Checkbox@CRASH_DIALOG_CHECKBOX:
X: 310
Y: 40
Width: 300
Height: 20
Font: Regular
Text: Show Fatal Error dialog
Checkbox@PERFTEXT_CHECKBOX:
X: 15
Y: 70
@@ -451,6 +444,13 @@ Container@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Show Performance Text
Checkbox@FETCH_NEWS_CHECKBOX:
X: 310
Y: 40
Width: 300
Height: 20
Font: Regular
Text: Fetch Community News
Checkbox@PERFGRAPH_CHECKBOX:
X: 310
Y: 70
@@ -458,13 +458,6 @@ Container@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Show Performance Graph
Checkbox@FETCH_NEWS_CHECKBOX:
X: 15
Y: 100
Width: 300
Height: 20
Font: Regular
Text: Fetch Community News
Label@DEBUG_TITLE:
Y: 140
Width: PARENT_RIGHT

View File

@@ -438,13 +438,6 @@ Background@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Enable Network Discovery (UPnP)
Checkbox@CRASH_DIALOG_CHECKBOX:
X: 310
Y: 40
Width: 300
Height: 20
Font: Regular
Text: Show Fatal Error dialog
Checkbox@PERFTEXT_CHECKBOX:
X: 15
Y: 70
@@ -452,6 +445,13 @@ Background@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Show Performance Text
Checkbox@FETCH_NEWS_CHECKBOX:
X: 310
Y: 40
Width: 300
Height: 20
Font: Regular
Text: Fetch Community News
Checkbox@PERFGRAPH_CHECKBOX:
X: 310
Y: 70
@@ -459,13 +459,6 @@ Background@SETTINGS_PANEL:
Height: 20
Font: Regular
Text: Show Performance Graph
Checkbox@FETCH_NEWS_CHECKBOX:
X: 15
Y: 100
Width: 300
Height: 20
Font: Regular
Text: Fetch Community News
Label@DEBUG_TITLE:
Y: 140
Width: PARENT_RIGHT

View File

@@ -26,12 +26,6 @@ cp $DEPSDIR/* $PWD/packaging/linux/$ROOTDIR/usr/lib/openra/
# Install startup scripts, desktop files and icons
make install-linux-shortcuts prefix="/usr" DESTDIR="$PWD/packaging/linux/$ROOTDIR"
# Remove the WinForms dialog which is replaced with a native one provided by zenity
rm $PWD/packaging/linux/$ROOTDIR/usr/lib/openra/OpenRA.CrashDialog.exe
# Remove the WinForms tileset builder which does not work outside the source tree
rm $PWD/packaging/linux/$ROOTDIR/usr/lib/openra/OpenRA.TilesetBuilder.exe
# Documentation
mkdir -p $PWD/packaging/linux/$ROOTDIR/usr/share/doc/openra/
cp *.html $PWD/packaging/linux/$ROOTDIR/usr/share/doc/openra/

View File

@@ -18,9 +18,10 @@ cp -rv $2/* $3/* "OpenRA.app/Contents/Resources/" || exit 3
# Remove unused icon
rm OpenRA.app/Contents/Resources/OpenRA.ico
# Remove broken WinForms applications
rm OpenRA.app/Contents/Resources/OpenRA.exe
rm OpenRA.app/Contents/Resources/OpenRA.Editor.exe
rm OpenRA.app/Contents/Resources/OpenRA.CrashDialog.exe
# Set version string
sed "s/{DEV_VERSION}/${1}/" OpenRA.app/Contents/Info.plist.template > OpenRA.app/Contents/Info.plist

View File

@@ -14,6 +14,10 @@ TITLE="Cannot launch OpenRA"
MESSAGE="OpenRA requires Mono $REQUIRED_MAJOR.$REQUIRED_MINOR or later. Please install the Mono MRE package and try again."
MONO_URL="http://www.mono-project.com/download/"
CRASH_TITLE="Fatal Error"
CRASH_MESSAGE="OpenRA has encountered a fatal error.\nRefer to the crash logs and FAQ for more information."
FAQ_URL="http://wiki.openra.net/FAQ"
DIR=$(cd "$(dirname "$0")"; pwd)
RESOURCES="$DIR/../Resources"
@@ -35,4 +39,23 @@ then
fi
# Override fontconfig with our own dummy config that prevents long cache delays
cd "$RESOURCES" && FONTCONFIG_PATH="." $MONO_BIN --debug OpenRA.Game.exe Graphics.Renderer=Sdl2
cd "$RESOURCES" && FONTCONFIG_PATH="." $MONO_BIN --debug OpenRA.Game.exe Graphics.Renderer=Sdl2
# Display an error dialog on game crash
if [ $? != 0 ]
then
osascript \
-e "set logsPath to ((path to application support folder from user domain) as text) & \"OpenRA:Logs:\"" \
-e "log logsPath" \
-e "tell application \"Finder\"" \
-e " repeat" \
-e " set question to display dialog \"$CRASH_MESSAGE\" with title \"$CRASH_TITLE\" with icon alias (POSIX file \"$RESOURCES/OpenRA.icns\") buttons {\"View Logs\", \"View FAQ\", \"Quit\"} default button 3" \
-e " if button returned of question is equal to \"View Logs\" then open logsPath" \
-e " if button returned of question is equal to \"View FAQ\" then open location \"$FAQ_URL\"" \
-e " if button returned of question is equal to \"Quit\" then exit repeat" \
-e " if button returned of question is equal to \"Download Mono\" then open location \"$MONO_URL\"" \
-e " activate" \
-e " end repeat" \
-e "end tell"
exit 1
fi

View File

@@ -30,7 +30,7 @@ markdown DOCUMENTATION.md > DOCUMENTATION.html
markdown Lua-API.md > Lua-API.html
# List of files that are packaged on all platforms
FILES=('OpenRA.Game.exe' 'OpenRA.Editor.exe' 'OpenRA.Utility.exe' 'OpenRA.CrashDialog.exe' \
FILES=('OpenRA.Game.exe' 'OpenRA.Editor.exe' 'OpenRA.Utility.exe' \
'OpenRA.Renderer.Sdl2.dll' 'OpenRA.Renderer.Null.dll' \
'lua' 'glsl' 'mods/common' 'mods/ra' 'mods/cnc' 'mods/d2k' 'mods/modchooser' \
'AUTHORS' 'COPYING' 'README.html' 'CONTRIBUTING.html' 'DOCUMENTATION.html' 'CHANGELOG.html' \
@@ -68,6 +68,9 @@ cp thirdparty/RestSharp.dll packaging/built
# Copy game icon for windows package
cp OpenRA.Game/OpenRA.ico packaging/built
# Copy the Windows crash monitor
cp OpenRA.exe packaging/built
cd packaging
echo "Creating packages..."

View File

@@ -65,9 +65,9 @@ Section "Game" GAME
File /r "${SRCDIR}\mods\modchooser"
SetOutPath "$INSTDIR"
File "${SRCDIR}\OpenRA.exe"
File "${SRCDIR}\OpenRA.Game.exe"
File "${SRCDIR}\OpenRA.Utility.exe"
File "${SRCDIR}\OpenRA.CrashDialog.exe"
File "${SRCDIR}\OpenRA.Renderer.Null.dll"
File "${SRCDIR}\OpenRA.Renderer.Sdl2.dll"
File "${SRCDIR}\ICSharpCode.SharpZipLib.dll"
@@ -97,8 +97,8 @@ Section "Game" GAME
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\OpenRA.lnk" $OUTDIR\OpenRA.Game.exe "" \
"$OUTDIR\OpenRA.Game.exe" "" "" "" ""
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\OpenRA.lnk" $OUTDIR\OpenRA.exe "" \
"$OUTDIR\OpenRA.exe" "" "" "" ""
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\README.lnk" $OUTDIR\README.html "" \
"$OUTDIR\README.html" "" "" "" ""
!insertmacro MUI_STARTMENU_WRITE_END
@@ -125,8 +125,8 @@ SectionEnd
SectionGroup /e "Settings"
Section "Desktop Shortcut" DESKTOPSHORTCUT
SetOutPath "$INSTDIR"
CreateShortCut "$DESKTOP\OpenRA.lnk" $INSTDIR\OpenRA.Game.exe "" \
"$INSTDIR\OpenRA.Game.exe" "" "" "" ""
CreateShortCut "$DESKTOP\OpenRA.lnk" $INSTDIR\OpenRA.exe "" \
"$INSTDIR\OpenRA.exe" "" "" "" ""
SectionEnd
SectionGroupEnd
@@ -181,10 +181,9 @@ Function ${UN}Clean
RMDir /r $INSTDIR\maps
RMDir /r $INSTDIR\glsl
RMDir /r $INSTDIR\lua
Delete $INSTDIR\OpenRA.Launcher.exe
Delete $INSTDIR\OpenRA.exe
Delete $INSTDIR\OpenRA.Game.exe
Delete $INSTDIR\OpenRA.Utility.exe
Delete $INSTDIR\OpenRA.CrashDialog.exe
Delete $INSTDIR\OpenRA.Editor.exe
Delete $INSTDIR\OpenRA.Renderer.Null.dll
Delete $INSTDIR\OpenRA.Renderer.Sdl2.dll