appwiz.cpl: Add Wine Mono to addons.
Vincent Povirk
madewokherd at gmail.com
Mon May 21 08:39:46 CDT 2012
This will make it possible to install wine mono using: wine control
appwiz.cpl install_mono
I think I will wait until after 1.5.5 to add the logic to mscoree to
trigger the install, and remove the .NET registry keys and files from
wine.inf.in.
-------------- next part --------------
From ede939346ddef9dde22bbe7b611fc77bc86c9900 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Mon, 21 May 2012 07:46:03 -0500
Subject: [PATCH] appwiz.cpl: Add Wine Mono to addons.
---
dlls/appwiz.cpl/addons.c | 11 +++++++++++
dlls/appwiz.cpl/appwiz.c | 6 ++++++
dlls/appwiz.cpl/appwiz.h | 3 ++-
dlls/appwiz.cpl/appwiz.rc | 15 +++++++++++++++
dlls/appwiz.cpl/res.h | 1 +
tools/wine.inf.in | 2 ++
6 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c
index ab70ed1..4a5acba 100644
--- a/dlls/appwiz.cpl/addons.c
+++ b/dlls/appwiz.cpl/addons.c
@@ -64,6 +64,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
#define GECKO_SHA "???"
#endif
+#define MONO_VERSION "0.0.4"
+#define MONO_SHA "7d827f7d28a88ae0da95a136573783124ffce4b1"
+
typedef struct {
const char *version;
const char *file_name;
@@ -83,6 +86,14 @@ static const addon_info_t addons_info[] = {
GECKO_SHA,
"MSHTML", "GeckoUrl", "GeckoCabDir",
MAKEINTRESOURCEW(ID_DWL_GECKO_DIALOG)
+ },
+ {
+ MONO_VERSION,
+ "wine-mono-" MONO_VERSION ".msi",
+ "mono",
+ MONO_SHA,
+ "Dotnet", "MonoUrl", "MonoCabDir",
+ MAKEINTRESOURCEW(ID_DWL_MONO_DIALOG)
}
};
diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c
index 14ace66..c50adf7 100644
--- a/dlls/appwiz.cpl/appwiz.c
+++ b/dlls/appwiz.cpl/appwiz.c
@@ -970,6 +970,7 @@ static void StartApplet(HWND hWnd)
static LONG start_params(const WCHAR *params)
{
static const WCHAR install_geckoW[] = {'i','n','s','t','a','l','l','_','g','e','c','k','o',0};
+ static const WCHAR install_monoW[] = {'i','n','s','t','a','l','l','_','m','o','n','o',0};
if(!params)
return FALSE;
@@ -979,6 +980,11 @@ static LONG start_params(const WCHAR *params)
return TRUE;
}
+ if(!strcmpW(params, install_monoW)) {
+ install_addon(ADDON_MONO);
+ return TRUE;
+ }
+
WARN("unknown param %s\n", debugstr_w(params));
return FALSE;
}
diff --git a/dlls/appwiz.cpl/appwiz.h b/dlls/appwiz.cpl/appwiz.h
index 6e189fa..12c2126 100644
--- a/dlls/appwiz.cpl/appwiz.h
+++ b/dlls/appwiz.cpl/appwiz.h
@@ -17,7 +17,8 @@
*/
typedef enum {
- ADDON_GECKO
+ ADDON_GECKO,
+ ADDON_MONO
} addon_t;
BOOL install_addon(addon_t) DECLSPEC_HIDDEN;
diff --git a/dlls/appwiz.cpl/appwiz.rc b/dlls/appwiz.cpl/appwiz.rc
index af41d6a..bd9e15d 100644
--- a/dlls/appwiz.cpl/appwiz.rc
+++ b/dlls/appwiz.cpl/appwiz.rc
@@ -107,6 +107,21 @@ FONT 8, "MS Shell Dlg"
PUSHBUTTON "Cancel", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP
}
+ID_DWL_MONO_DIALOG DIALOG 0, 0, 260, 95
+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "Wine Mono Installer"
+FONT 8, "MS Shell Dlg"
+{
+ CONTROL "Wine could not find a Mono package which is needed for .NET applications " \
+ "to work correctly. Wine can automatically download and install it for you.\n\n" \
+ "Note: it is recommended to use your distribution's packages instead. " \
+ "See <a href=\"http://wiki.winehq.org/Mono\">http://wiki.winehq.org/Mono</a> for details.",
+ ID_DWL_STATUS, "SysLink", 0, 10, 10, 240, 65
+ CONTROL "", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
+ DEFPUSHBUTTON "&Install", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Cancel", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP
+}
+
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* @makedep: appwiz.ico */
diff --git a/dlls/appwiz.cpl/res.h b/dlls/appwiz.cpl/res.h
index 96cd62d..22fd03c 100644
--- a/dlls/appwiz.cpl/res.h
+++ b/dlls/appwiz.cpl/res.h
@@ -49,6 +49,7 @@
#define ID_DWL_PROGRESS 1201
#define ID_DWL_INSTALL 1202
#define ID_DWL_STATUS 1203
+#define ID_DWL_MONO_DIALOG 1204
/* Icons */
diff --git a/tools/wine.inf.in b/tools/wine.inf.in
index 1b8e56d..abd5307 100644
--- a/tools/wine.inf.in
+++ b/tools/wine.inf.in
@@ -712,6 +712,8 @@ HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-99
HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"Locale",2,"*"
HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"Version",2,"4,74,9273,0"
+HKCU,SOFTWARE\Wine\Dotnet,"MonoUrl",,"http://source.winehq.org/winemono.php"
+
[Nls]
HKLM,System\CurrentControlSet\Control\Nls\Codepage,"37",,""
HKLM,System\CurrentControlSet\Control\Nls\Language,"0401",,""
--
1.7.9.5
More information about the wine-patches
mailing list