summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authormattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-29 05:17:08 +0000
committermattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-29 05:17:08 +0000
commit0f4411d4694436df07b26804bf774fa53cef9b8b (patch)
treed8020ae8130b8ecd82b5dfbf33e73b36b15bec03 /remoting
parenteb2ef21c332ae0de01e236699e1a46003941897c (diff)
downloadchromium_src-0f4411d4694436df07b26804bf774fa53cef9b8b.zip
chromium_src-0f4411d4694436df07b26804bf774fa53cef9b8b.tar.gz
chromium_src-0f4411d4694436df07b26804bf774fa53cef9b8b.tar.bz2
Revert "Merged all Chromoting Host code into remoting_core.dll (Windows)."
This reverts commit r179226. Broke mac dbg build. > Merged all Chromoting Host code into remoting_core.dll (Windows). > > Consolidated all installable Chromoting Host core into remoting_core.dll and converted all executables into thin wrappers around entry points exposed by remoting_core.dll. This reduces size of the installer by approximately 600KB. > > BUG=170200 > > Review URL: https://chromiumcodereview.appspot.com/11970044 TBR=alexeypa@chromium.org Review URL: https://codereview.chromium.org/12094024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179294 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r--remoting/branding_Chrome1
-rw-r--r--remoting/branding_Chromium1
-rw-r--r--remoting/host/continue_window_win.cc13
-rw-r--r--remoting/host/desktop_process_main.cc96
-rw-r--r--remoting/host/desktop_process_main.h17
-rw-r--r--remoting/host/disconnect_window_win.cc2
-rw-r--r--remoting/host/host_export.h24
-rw-r--r--remoting/host/host_ui.rc (renamed from remoting/host/win/core.rc)74
-rw-r--r--remoting/host/host_ui_resource.h (renamed from remoting/host/win/core_resource.h)23
-rw-r--r--remoting/host/installer/win/chromoting.wxs39
-rw-r--r--remoting/host/installer/win/parameters.json1
-rw-r--r--remoting/host/plugin/host_plugin.cc3
-rw-r--r--remoting/host/remoting_desktop.ver (renamed from remoting/host/win/remoting_desktop.ver)0
-rw-r--r--remoting/host/remoting_host_me2me.ver (renamed from remoting/host/win/remoting_host.ver)0
-rw-r--r--remoting/host/remoting_me2me_host.cc104
-rw-r--r--remoting/host/remoting_me2me_host.h17
-rw-r--r--remoting/host/verify_config_window_win.cc2
-rw-r--r--remoting/host/verify_config_window_win.h2
-rw-r--r--remoting/host/video_scheduler.cc2
-rw-r--r--remoting/host/win/core.cc14
-rw-r--r--remoting/host/win/daemon_process_entry_point.cc14
-rw-r--r--remoting/host/win/daemon_process_main.cc89
-rw-r--r--remoting/host/win/daemon_process_main.h17
-rw-r--r--remoting/host/win/desktop_process_entry_point.cc14
-rw-r--r--remoting/host/win/elevated_controller.cc2
-rw-r--r--remoting/host/win/elevated_controller.rc69
-rw-r--r--remoting/host/win/elevated_controller_entry_point.cc14
-rw-r--r--remoting/host/win/elevated_controller_module.cc22
-rw-r--r--remoting/host/win/elevated_controller_module.h17
-rw-r--r--remoting/host/win/elevated_controller_resource.h19
-rw-r--r--remoting/host/win/host_process_entry_point.cc14
-rw-r--r--remoting/host/win/host_service.cc63
-rw-r--r--remoting/host/win/host_service.rc80
-rw-r--r--remoting/host/win/host_service_resource.h21
-rw-r--r--remoting/host/win/remoting_core.ver4
-rw-r--r--remoting/remoting.gyp416
-rw-r--r--remoting/version.rc.version3
37 files changed, 639 insertions, 674 deletions
diff --git a/remoting/branding_Chrome b/remoting/branding_Chrome
index e199668..028c3d2 100644
--- a/remoting/branding_Chrome
+++ b/remoting/branding_Chrome
@@ -9,7 +9,6 @@ DAEMON_FILE_NAME=Chrome Remote Desktop Host Service
DAEMON_DESCRIPTION=Chrome Remote Desktop Host Service
CONTROLLER_DESCRIPTION=Chrome Remote Desktop Host Controller
DESKTOP_DESCRIPTION=Chrome Remote Desktop Integration Process
-CORE_DESCRIPTION=Chrome Remote Desktop Core
MAC_BUNDLE_ID=com.google.Chrome
MAC_CREATOR=rimZ
MAC_HOST_BUNDLE_ID=com.google.chrome_remote_desktop.remoting_me2me_host
diff --git a/remoting/branding_Chromium b/remoting/branding_Chromium
index 83f9085..524989a 100644
--- a/remoting/branding_Chromium
+++ b/remoting/branding_Chromium
@@ -9,7 +9,6 @@ DAEMON_FILE_NAME=Chromoting Host Service
DAEMON_DESCRIPTION=Chromoting Host Service
CONTROLLER_DESCRIPTION=Chromoting Host Controller
DESKTOP_DESCRIPTION=Chromoting Integration Process
-CORE_DESCRIPTION=Chromoting Core
MAC_BUNDLE_ID=org.chromium.Chromium
MAC_CREATOR=Cr24
MAC_HOST_BUNDLE_ID=org.chromium.chromoting.remoting_me2me_host
diff --git a/remoting/host/continue_window_win.cc b/remoting/host/continue_window_win.cc
index fc03615..76cc42b 100644
--- a/remoting/host/continue_window_win.cc
+++ b/remoting/host/continue_window_win.cc
@@ -8,16 +8,21 @@
#include "base/compiler_specific.h"
#include "base/logging.h"
-#include "base/process_util.h"
#include "base/utf_string_conversions.h"
+#include "remoting/host/host_ui_resource.h"
#include "remoting/host/ui_strings.h"
-#include "remoting/host/win/core_resource.h"
// TODO(garykac): Lots of duplicated code in this file and
// disconnect_window_win.cc. These global floating windows are temporary so
// they should be deleted soon. If we need to expand this then we should
// create a class with the shared code.
+// HMODULE from DllMain/WinMain. This is needed to find our dialog resource.
+// This is defined in:
+// Plugin: host_plugin.cc
+// SimpleHost: simple_host_process.cc
+extern HMODULE g_hModule;
+
namespace remoting {
class ContinueWindowWin : public ContinueWindow {
@@ -101,10 +106,8 @@ BOOL ContinueWindowWin::OnDialogMessage(HWND hwnd, UINT msg,
void ContinueWindowWin::Show(const ContinueSessionCallback& callback) {
callback_ = callback;
- HMODULE instance = base::GetModuleFromAddress(&DialogProc);
-
CHECK(!hwnd_);
- hwnd_ = CreateDialogParam(instance, MAKEINTRESOURCE(IDD_CONTINUE), NULL,
+ hwnd_ = CreateDialogParam(g_hModule, MAKEINTRESOURCE(IDD_CONTINUE), NULL,
(DLGPROC)DialogProc, (LPARAM)this);
if (!hwnd_) {
LOG(ERROR) << "Unable to create Disconnect dialog for remoting.";
diff --git a/remoting/host/desktop_process_main.cc b/remoting/host/desktop_process_main.cc
index be7f918..fa678de 100644
--- a/remoting/host/desktop_process_main.cc
+++ b/remoting/host/desktop_process_main.cc
@@ -5,8 +5,6 @@
// This file implements the Windows service controlling Me2Me host processes
// running within user sessions.
-#include "remoting/host/desktop_process_main.h"
-
#include "base/at_exit.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
@@ -56,9 +54,7 @@ void Usage(const FilePath& program_name) {
} // namespace
-namespace remoting {
-
-int DesktopProcessMain(int argc, char** argv) {
+int main(int argc, char** argv) {
#if defined(OS_MACOSX)
// Needed so we don't leak objects when threads are created.
base::mac::ScopedNSAutoreleasePool pool;
@@ -66,48 +62,17 @@ int DesktopProcessMain(int argc, char** argv) {
CommandLine::Init(argc, argv);
- // Initialize Breakpad as early as possible. On Mac the command-line needs to
- // be initialized first, so that the preference for crash-reporting can be
- // looked up in the config file.
-#if defined(OFFICIAL_BUILD) && (defined(MAC_BREAKPAD) || defined(OS_WIN))
- if (IsUsageStatsAllowed()) {
- InitializeCrashReporting();
- }
-#endif // defined(OFFICIAL_BUILD) && (defined(MAC_BREAKPAD) || defined(OS_WIN))
-
// This object instance is required by Chrome code (for example,
// LazyInstance, MessageLoop).
base::AtExitManager exit_manager;
- InitHostLogging();
-
-#if defined(OS_WIN)
- // Register and initialize common controls.
- INITCOMMONCONTROLSEX info;
- info.dwSize = sizeof(info);
- info.dwICC = ICC_STANDARD_CLASSES;
- InitCommonControlsEx(&info);
-
- // Mark the process as DPI-aware, so Windows won't scale coordinates in APIs.
- // N.B. This API exists on Vista and above.
- if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
- FilePath path(base::GetNativeLibraryName(UTF8ToUTF16("user32")));
- base::ScopedNativeLibrary user32(path);
- CHECK(user32.is_valid());
-
- typedef BOOL (WINAPI * SetProcessDPIAwareFn)();
- SetProcessDPIAwareFn set_process_dpi_aware =
- static_cast<SetProcessDPIAwareFn>(
- user32.GetFunctionPointer("SetProcessDPIAware"));
- set_process_dpi_aware();
- }
-#endif // defined(OS_WIN)
+ remoting::InitHostLogging();
const CommandLine* command_line = CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(kHelpSwitchName) ||
command_line->HasSwitch(kQuestionSwitchName)) {
Usage(command_line->GetProgram());
- return kSuccessExitCode;
+ return remoting::kSuccessExitCode;
}
std::string channel_name =
@@ -115,7 +80,7 @@ int DesktopProcessMain(int argc, char** argv) {
if (channel_name.empty()) {
Usage(command_line->GetProgram());
- return kUsageExitCode;
+ return remoting::kUsageExitCode;
}
MessageLoop message_loop(MessageLoop::TYPE_UI);
@@ -124,25 +89,56 @@ int DesktopProcessMain(int argc, char** argv) {
base::IgnoreResult(&base::SingleThreadTaskRunner::PostTask),
message_loop.message_loop_proxy(),
FROM_HERE, run_loop.QuitClosure());
- scoped_refptr<AutoThreadTaskRunner> ui_task_runner =
- new AutoThreadTaskRunner(message_loop.message_loop_proxy(),
- quit_ui_task_runner);
+ scoped_refptr<remoting::AutoThreadTaskRunner> ui_task_runner =
+ new remoting::AutoThreadTaskRunner(message_loop.message_loop_proxy(),
+ quit_ui_task_runner);
- DesktopProcess desktop_process(ui_task_runner, channel_name);
+ remoting::DesktopProcess desktop_process(ui_task_runner, channel_name);
if (!desktop_process.Start())
- return kInitializationFailed;
+ return remoting::kInitializationFailed;
// Run the UI message loop.
ui_task_runner = NULL;
run_loop.Run();
- return kSuccessExitCode;
+ return remoting::kSuccessExitCode;
}
-} // namespace remoting
+#if defined(OS_WIN)
-#if !defined(OS_WIN)
-int main(int argc, char** argv) {
- return remoting::DesktopProcessMain(argc, argv);
+int CALLBACK WinMain(HINSTANCE instance,
+ HINSTANCE previous_instance,
+ LPSTR raw_command_line,
+ int show_command) {
+#ifdef OFFICIAL_BUILD
+ if (remoting::IsUsageStatsAllowed()) {
+ remoting::InitializeCrashReporting();
+ }
+#endif // OFFICIAL_BUILD
+
+ // Register and initialize common controls.
+ INITCOMMONCONTROLSEX info;
+ info.dwSize = sizeof(info);
+ info.dwICC = ICC_STANDARD_CLASSES;
+ InitCommonControlsEx(&info);
+
+ // Mark the process as DPI-aware, so Windows won't scale coordinates in APIs.
+ // N.B. This API exists on Vista and above.
+ if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
+ FilePath path(base::GetNativeLibraryName(UTF8ToUTF16("user32")));
+ base::ScopedNativeLibrary user32(path);
+ CHECK(user32.is_valid());
+
+ typedef BOOL (WINAPI * SetProcessDPIAwareFn)();
+ SetProcessDPIAwareFn set_process_dpi_aware =
+ static_cast<SetProcessDPIAwareFn>(
+ user32.GetFunctionPointer("SetProcessDPIAware"));
+ set_process_dpi_aware();
+ }
+
+ // CommandLine::Init() ignores the passed |argc| and |argv| on Windows getting
+ // the command line from GetCommandLineW(), so we can safely pass NULL here.
+ return main(0, NULL);
}
-#endif // !defined(OS_WIN)
+
+#endif // defined(OS_WIN)
diff --git a/remoting/host/desktop_process_main.h b/remoting/host/desktop_process_main.h
deleted file mode 100644
index f9724f9..0000000
--- a/remoting/host/desktop_process_main.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef REMOTING_HOST_DESKTOP_PROCESS_MAIN_H_
-#define REMOTING_HOST_DESKTOP_PROCESS_MAIN_H_
-
-#include "remoting/host/host_export.h"
-
-namespace remoting {
-
-// The desktop process's entry point.
-HOST_EXPORT int DesktopProcessMain(int argc, char** argv);
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_DESKTOP_PROCESS_MAIN_H_
diff --git a/remoting/host/disconnect_window_win.cc b/remoting/host/disconnect_window_win.cc
index 8fc7ac4..ff41c67 100644
--- a/remoting/host/disconnect_window_win.cc
+++ b/remoting/host/disconnect_window_win.cc
@@ -14,8 +14,8 @@
#include "base/win/scoped_gdi_object.h"
#include "base/win/scoped_hdc.h"
#include "base/win/scoped_select_object.h"
+#include "remoting/host/host_ui_resource.h"
#include "remoting/host/ui_strings.h"
-#include "remoting/host/win/core_resource.h"
// TODO(garykac): Lots of duplicated code in this file and
// continue_window_win.cc. If we need to expand this then we should
diff --git a/remoting/host/host_export.h b/remoting/host/host_export.h
deleted file mode 100644
index 7aa58d8..0000000
--- a/remoting/host/host_export.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef REMOTING_HOST_HOST_EXPORT_H_
-#define REMOTING_HOST_HOST_EXPORT_H_
-
-#if defined(WIN32)
-
-#if defined(HOST_IMPLEMENTATION)
-#define HOST_EXPORT __declspec(dllexport)
-#else
-#define HOST_EXPORT __declspec(dllimport)
-#endif // defined(HOST_IMPLEMENTATION)
-
-#else // !defined(WIN32)
-#if defined(HOST_IMPLEMENTATION)
-#define HOST_EXPORT __attribute__((visibility("default")))
-#else
-#define HOST_EXPORT
-#endif // defined(HOST_IMPLEMENTATION)
-#endif // !defined(WIN32)
-
-#endif // REMOTING_HOST_HOST_EXPORT_H_
diff --git a/remoting/host/win/core.rc b/remoting/host/host_ui.rc
index ac7ca69..d1e2d5a 100644
--- a/remoting/host/win/core.rc
+++ b/remoting/host/host_ui.rc
@@ -1,13 +1,13 @@
// Microsoft Visual C++ generated resource script.
//
-#include "core_resource.h"
+#include "host_ui_resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
-#include "afxres.h"
+#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@@ -21,49 +21,31 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
-// Embedded type library.
-1 typelib "remoting/host/elevated_controller.tlb"
-
+#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
-// String Table
+// TEXTINCLUDE
//
-STRINGTABLE
+1 TEXTINCLUDE
BEGIN
-#ifdef OFFICIAL_BUILD
- IDS_DISPLAY_SERVICE_NAME "Chrome Remote Desktop Service"
- IDS_SERVICE_DESCRIPTION "This service enables incoming connections from Chrome Remote Desktop clients."
- IDS_CONTROLLER "Chrome Remote Desktop Host Controller"
-#else
- IDS_DISPLAY_SERVICE_NAME "Chromoting Service"
- IDS_SERVICE_DESCRIPTION "This service enables incoming connections from Chromoting clients."
- IDS_CONTROLLER "Chromoting Host Controller"
-#endif
+ "host_ui_resource.h\0"
END
-IDD_VERIFY_CONFIG_DIALOG ICON "remoting/resources/chromoting.ico"
+2 TEXTINCLUDE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
-IDD_VERIFY_CONFIG_DIALOG DIALOGEX 0, 0, 221, 106
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUPWINDOW | WS_CAPTION
-EXSTYLE 0
-CAPTION "kTitle"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- LTEXT "kConfirmConfigChange",IDC_MESSAGE,7,7,207,30
- LTEXT "kAccount",IDC_EMAIL_LABEL,7,38,50,30
- LTEXT "kEmail",IDC_EMAIL,60,38,110,30
- LTEXT "kPin",IDC_PIN_LABEL,7,55,50,30
- EDITTEXT IDC_PIN,60,55,100,15,WS_TABSTOP | ES_PASSWORD | ES_NUMBER
- DEFPUSHBUTTON "kOK",IDOK,68,86,68,14,WS_TABSTOP
- PUSHBUTTON "kCancel",IDCANCEL,146,86,68,14,WS_TABSTOP
-END
-
IDD_DISCONNECT DIALOGEX 0, 0, 145, 24
STYLE DS_SETFONT | WS_POPUP
EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW
@@ -86,5 +68,33 @@ BEGIN
PUSHBUTTON "kCancel",IDC_CONTINUE_CANCEL,7,38,98,14
END
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_DISCONNECT, DIALOG
+ BEGIN
+ VERTGUIDE, 20
+ BOTTOMMARGIN, 23
+ END
+
+ IDD_CONTINUE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 214
+ VERTGUIDE, 105
+ VERTGUIDE, 116
+ VERTGUIDE, 203
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 52
+ END
+END
+#endif // APSTUDIO_INVOKED
+
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
diff --git a/remoting/host/win/core_resource.h b/remoting/host/host_ui_resource.h
index 4d93334..6704a27 100644
--- a/remoting/host/win/core_resource.h
+++ b/remoting/host/host_ui_resource.h
@@ -4,25 +4,10 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
-// Used by host_service.rc
+// Used by host_ui.rc
//
-
-// N.B. Values of |IDS_DISPLAY_SERVICE_NAME|, |IDS_SERVICE_DESCRIPTION|,
-// |IDS_CONTROLLER| and |IDD_VERIFY_CONFIG_DIALOG| are hardcoded in
-// remoting/host/install/chromoting.wxs. Make sure the values below and in
-// the installation script match.
-#define IDS_DISPLAY_SERVICE_NAME 101
-#define IDS_SERVICE_DESCRIPTION 102
-#define IDS_CONTROLLER 103
-#define IDD_VERIFY_CONFIG_DIALOG 104
-#define IDC_MESSAGE 105
-#define IDC_EMAIL 106
-#define IDC_PIN 107
-#define IDC_EMAIL_LABEL 108
-#define IDC_PIN_LABEL 109
-
-#define IDD_DISCONNECT 110
-#define IDD_CONTINUE 111
+#define IDD_DISCONNECT 101
+#define IDD_CONTINUE 102
#define IDC_DISCONNECT 1001
#define IDC_DISCONNECT_SHARINGWITH 1002
#define IDC_DISCONNECT_USERNAME 1003
@@ -34,7 +19,7 @@
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 112
+#define _APS_NEXT_RESOURCE_VALUE 103
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1006
#define _APS_NEXT_SYMED_VALUE 101
diff --git a/remoting/host/installer/win/chromoting.wxs b/remoting/host/installer/win/chromoting.wxs
index e3ae2bb..7a88536 100644
--- a/remoting/host/installer/win/chromoting.wxs
+++ b/remoting/host/installer/win/chromoting.wxs
@@ -23,8 +23,6 @@
<?define OmahaAppid = "{b210701e-ffc4-49e3-932b-370728c72662}" ?>
<?define UpgradeCode = "2b21f767-e157-4fa6-963c-55834c1433a6" ?>
- <?define CoreBinary = "remoting_core.dll" ?>
-
<?define ControllerAppid = "{4ff35d5e-d226-4550-9248-03e7779e67de}" ?>
<?define ControllerBinary = "remoting_controller.exe" ?>
<?define ControllerClass = "ElevatedController Class" ?>
@@ -138,23 +136,6 @@
Vital="yes"/>
</Component>
- <Component Id="remoting_core" Guid="*">
- <File Id="$(var.CoreBinary)"
- DiskId="1"
- KeyPath="yes"
- Name="$(var.CoreBinary)"
- Vital="yes"/>
-
- <util:EventSource xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
- Name="$(var.EventSourceName)"
- Log="Application"
- CategoryCount="1"
- CategoryMessageFile="[#$(var.CoreBinary)]"
- EventMessageFile="[#$(var.CoreBinary)]"
- SupportsErrors="yes"
- SupportsInformationals="yes"/>
- </Component>
-
<?if $(var.RemotingMultiProcess) != 0 ?>
<Component Id="remoting_desktop" Guid="*">
<File Id="remoting_desktop.exe"
@@ -196,6 +177,15 @@
DiskId="1"
Name="remoting_host.exe"
Vital="yes"/>
+ <util:EventSource xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
+ Name="$(var.EventSourceName)"
+ Log="Application"
+ CategoryCount="1"
+ CategoryMessageFile="[#remoting_host.exe]"
+ EventMessageFile="[#remoting_host.exe]"
+ SupportsErrors="yes"
+ SupportsInformationals="yes"/>
+
<fire:FirewallException xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension"
Id="me2me_firewall_exception"
IgnoreFailure="yes"
@@ -283,7 +273,7 @@
<RegistryValue Type="string"
Name="LocalizedString"
- Value="@[binaries]$(var.CoreBinary),-103"/>
+ Value="@[#$(var.ControllerBinary)],-100"/>
<RegistryKey Key="LocalServer32" Action="create">
<RegistryValue Type="string"
@@ -311,7 +301,7 @@
Value="1"/>
<RegistryValue Type="string"
Name="IconReference"
- Value="@[binaries]$(var.CoreBinary),-104"/>
+ Value="@[#$(var.ControllerBinary)],-101"/>
</RegistryKey>
</RegistryKey>
</RegistryKey>
@@ -350,7 +340,7 @@
<RegistryKey Key="0" Action="create">
<RegistryKey Key="win32" Action="create">
<RegistryValue Type="string"
- Value="@[binaries]$(var.CoreBinary)"/>
+ Value="[#$(var.ControllerBinary)]"/>
</RegistryKey>
</RegistryKey>
@@ -447,10 +437,10 @@
<CustomAction Id="set_service_display_name"
Property="chromoting_service_display_name"
- Value="@[binaries]$(var.CoreBinary),-101" />
+ Value="@[binaries]remoting_daemon.exe,-101" />
<CustomAction Id="set_service_description"
Property="chromoting_service_description"
- Value="@[binaries]$(var.CoreBinary),-102" />
+ Value="@[binaries]remoting_daemon.exe,-102" />
<!-- XP does not support MUI strings in the service name and description, so
we fall back to plain strings on XP. -->
@@ -470,7 +460,6 @@
<ComponentRef Id="omaha_registration"/>
<?endif?>
<ComponentRef Id="remoting_controller"/>
- <ComponentRef Id="remoting_core"/>
<ComponentRef Id="remoting_daemon"/>
<?if $(var.RemotingMultiProcess) != 0 ?>
<ComponentRef Id="remoting_desktop"/>
diff --git a/remoting/host/installer/win/parameters.json b/remoting/host/installer/win/parameters.json
index 257fbca..4539e7a 100644
--- a/remoting/host/installer/win/parameters.json
+++ b/remoting/host/installer/win/parameters.json
@@ -13,7 +13,6 @@
],
"sign": [
"remoting_controller.exe",
- "remoting_core.dll",
"remoting_daemon.exe",
"remoting_desktop.exe",
"remoting_host.exe"
diff --git a/remoting/host/plugin/host_plugin.cc b/remoting/host/plugin/host_plugin.cc
index 8b465ea..a55c309 100644
--- a/remoting/host/plugin/host_plugin.cc
+++ b/remoting/host/plugin/host_plugin.cc
@@ -450,9 +450,12 @@ NPError SetWindow(NPP instance, NPWindow* pNPWindow) {
} // namespace
#if defined(OS_WIN)
+HMODULE g_hModule = NULL;
+
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) {
switch (dwReason) {
case DLL_PROCESS_ATTACH:
+ g_hModule = hModule;
DisableThreadLibraryCalls(hModule);
break;
case DLL_PROCESS_DETACH:
diff --git a/remoting/host/win/remoting_desktop.ver b/remoting/host/remoting_desktop.ver
index 458c235..458c235 100644
--- a/remoting/host/win/remoting_desktop.ver
+++ b/remoting/host/remoting_desktop.ver
diff --git a/remoting/host/win/remoting_host.ver b/remoting/host/remoting_host_me2me.ver
index 16cde44..16cde44 100644
--- a/remoting/host/win/remoting_host.ver
+++ b/remoting/host/remoting_host_me2me.ver
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
index f0118d6..3d692d7 100644
--- a/remoting/host/remoting_me2me_host.cc
+++ b/remoting/host/remoting_me2me_host.cc
@@ -4,8 +4,6 @@
//
// This file implements a standalone host process for Me2Me.
-#include "remoting/host/remoting_me2me_host.h"
-
#include <string>
#include "base/at_exit.h"
@@ -14,7 +12,6 @@
#include "base/command_line.h"
#include "base/file_path.h"
#include "base/file_util.h"
-#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/scoped_native_library.h"
@@ -1039,7 +1036,9 @@ void HostProcess::OnCrash(const std::string& function_name,
CHECK(false);
}
-int HostProcessMain(int argc, char** argv) {
+} // namespace remoting
+
+int main(int argc, char** argv) {
#if defined(OS_MACOSX)
// Needed so we don't leak objects when threads are created.
base::mac::ScopedNSAutoreleasePool pool;
@@ -1047,14 +1046,15 @@ int HostProcessMain(int argc, char** argv) {
CommandLine::Init(argc, argv);
- // Initialize Breakpad as early as possible. On Mac the command-line needs to
- // be initialized first, so that the preference for crash-reporting can be
- // looked up in the config file.
-#if defined(OFFICIAL_BUILD) && (defined(MAC_BREAKPAD) || defined(OS_WIN))
- if (IsUsageStatsAllowed()) {
- InitializeCrashReporting();
+ // Initialize Breakpad as early as possible. On Windows, this happens in
+ // WinMain(), so it shouldn't also be done here. The command-line needs to be
+ // initialized first, so that the preference for crash-reporting can be looked
+ // up in the config file.
+#if defined(MAC_BREAKPAD)
+ if (remoting::IsUsageStatsAllowed()) {
+ remoting::InitializeCrashReporting();
}
-#endif // defined(OFFICIAL_BUILD) && (defined(MAC_BREAKPAD) || defined(OS_WIN))
+#endif // MAC_BREAKPAD
// This object instance is required by Chrome code (for example,
// LazyInstance, MessageLoop).
@@ -1065,29 +1065,7 @@ int HostProcessMain(int argc, char** argv) {
return 0;
}
- InitHostLogging();
-
-#if defined(OS_WIN)
- // Register and initialize common controls.
- INITCOMMONCONTROLSEX info;
- info.dwSize = sizeof(info);
- info.dwICC = ICC_STANDARD_CLASSES;
- InitCommonControlsEx(&info);
-
- // Mark the process as DPI-aware, so Windows won't scale coordinates in APIs.
- // N.B. This API exists on Vista and above.
- if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
- FilePath path(base::GetNativeLibraryName(UTF8ToUTF16("user32")));
- base::ScopedNativeLibrary user32(path);
- CHECK(user32.is_valid());
-
- typedef BOOL (WINAPI * SetProcessDPIAwareFn)();
- SetProcessDPIAwareFn set_process_dpi_aware =
- static_cast<SetProcessDPIAwareFn>(
- user32.GetFunctionPointer("SetProcessDPIAware"));
- set_process_dpi_aware();
- }
-#endif // defined(OS_WIN)
+ remoting::InitHostLogging();
#if defined(TOOLKIT_GTK)
// Required for any calls into GTK functions, such as the Disconnect and
@@ -1103,18 +1081,18 @@ int HostProcessMain(int argc, char** argv) {
// Create the main message loop and start helper threads.
MessageLoop message_loop(MessageLoop::TYPE_UI);
- scoped_ptr<ChromotingHostContext> context =
- ChromotingHostContext::Create(
- new AutoThreadTaskRunner(message_loop.message_loop_proxy(),
- MessageLoop::QuitClosure()));
+ scoped_ptr<remoting::ChromotingHostContext> context =
+ remoting::ChromotingHostContext::Create(
+ new remoting::AutoThreadTaskRunner(message_loop.message_loop_proxy(),
+ MessageLoop::QuitClosure()));
if (!context)
- return kInitializationFailed;
+ return remoting::kInitializationFailed;
// Create & start the HostProcess using these threads.
// TODO(wez): The HostProcess holds a reference to itself until Shutdown().
// Remove this hack as part of the multi-process refactoring.
- int exit_code = kSuccessExitCode;
- new HostProcess(context.Pass(), &exit_code);
+ int exit_code = remoting::kSuccessExitCode;
+ new remoting::HostProcess(context.Pass(), &exit_code);
// Run the main (also UI) message loop until the host no longer needs it.
message_loop.Run();
@@ -1122,10 +1100,44 @@ int HostProcessMain(int argc, char** argv) {
return exit_code;
}
-} // namespace remoting
+#if defined(OS_WIN)
+HMODULE g_hModule = NULL;
+
+int CALLBACK WinMain(HINSTANCE instance,
+ HINSTANCE previous_instance,
+ LPSTR command_line,
+ int show_command) {
+#if defined(OFFICIAL_BUILD)
+ if (remoting::IsUsageStatsAllowed()) {
+ remoting::InitializeCrashReporting();
+ }
+#endif // OFFICIAL_BUILD
-#if !defined(OS_WIN)
-int main(int argc, char** argv) {
- return remoting::HostProcessMain(argc, argv);
+ g_hModule = instance;
+
+ // Register and initialize common controls.
+ INITCOMMONCONTROLSEX info;
+ info.dwSize = sizeof(info);
+ info.dwICC = ICC_STANDARD_CLASSES;
+ InitCommonControlsEx(&info);
+
+ // Mark the process as DPI-aware, so Windows won't scale coordinates in APIs.
+ // N.B. This API exists on Vista and above.
+ if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
+ FilePath path(base::GetNativeLibraryName(UTF8ToUTF16("user32")));
+ base::ScopedNativeLibrary user32(path);
+ CHECK(user32.is_valid());
+
+ typedef BOOL (WINAPI * SetProcessDPIAwareFn)();
+ SetProcessDPIAwareFn set_process_dpi_aware =
+ static_cast<SetProcessDPIAwareFn>(
+ user32.GetFunctionPointer("SetProcessDPIAware"));
+ set_process_dpi_aware();
+ }
+
+ // CommandLine::Init() ignores the passed |argc| and |argv| on Windows getting
+ // the command line from GetCommandLineW(), so we can safely pass NULL here.
+ return main(0, NULL);
}
-#endif // !defined(OS_WIN)
+
+#endif // defined(OS_WIN)
diff --git a/remoting/host/remoting_me2me_host.h b/remoting/host/remoting_me2me_host.h
deleted file mode 100644
index 59443a4..0000000
--- a/remoting/host/remoting_me2me_host.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef REMOTING_HOST_REMOTING_ME2ME_HOST_H_
-#define REMOTING_HOST_REMOTING_ME2ME_HOST_H_
-
-#include "remoting/host/host_export.h"
-
-namespace remoting {
-
-// The host process's entry point exported from remoting_core.dll.
-HOST_EXPORT int HostProcessMain(int argc, char** argv);
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_REMOTING_ME2ME_HOST_H_
diff --git a/remoting/host/verify_config_window_win.cc b/remoting/host/verify_config_window_win.cc
index cdb99ac..c560d6c 100644
--- a/remoting/host/verify_config_window_win.cc
+++ b/remoting/host/verify_config_window_win.cc
@@ -13,7 +13,7 @@
#include "base/logging.h"
#include "base/utf_string_conversions.h"
#include "remoting/host/pin_hash.h"
-#include "remoting/host/win/core_resource.h"
+#include "remoting/host/win/elevated_controller_resource.h"
#include "remoting/protocol/authentication_method.h"
namespace remoting {
diff --git a/remoting/host/verify_config_window_win.h b/remoting/host/verify_config_window_win.h
index bf3302b..50400e5 100644
--- a/remoting/host/verify_config_window_win.h
+++ b/remoting/host/verify_config_window_win.h
@@ -14,7 +14,7 @@
#include <string>
#include "base/callback.h"
-#include "remoting/host/win/core_resource.h"
+#include "remoting/host/win/elevated_controller_resource.h"
namespace remoting {
diff --git a/remoting/host/video_scheduler.cc b/remoting/host/video_scheduler.cc
index c927b3c..90e635f 100644
--- a/remoting/host/video_scheduler.cc
+++ b/remoting/host/video_scheduler.cc
@@ -165,7 +165,7 @@ VideoScheduler::~VideoScheduler() {
void VideoScheduler::StartOnCaptureThread() {
DCHECK(capture_task_runner_->BelongsToCurrentThread());
- // Start the capturer and let it notify us if cursor shape changes.
+ // Start the capturer and let it notify us of cursor shape changes.
capturer_->Start(this);
capture_timer_.reset(new base::OneShotTimer<VideoScheduler>());
diff --git a/remoting/host/win/core.cc b/remoting/host/win/core.cc
deleted file mode 100644
index 2acbb05..0000000
--- a/remoting/host/win/core.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "remoting/host/remoting_me2me_host.h"
-
-BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void* reserved) {
- if (reason == DLL_PROCESS_ATTACH)
- DisableThreadLibraryCalls(instance);
-
- return TRUE;
-}
diff --git a/remoting/host/win/daemon_process_entry_point.cc b/remoting/host/win/daemon_process_entry_point.cc
deleted file mode 100644
index 9367a8b..0000000
--- a/remoting/host/win/daemon_process_entry_point.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "remoting/host/win/daemon_process_main.h"
-
-// The entry point of the daemon process binary. In order to be really small
-// the app doesn't link against the CRT.
-void DaemonProcessEntryPoint() {
- int exit_code = remoting::DaemonProcessMain();
- ExitProcess(exit_code);
-}
diff --git a/remoting/host/win/daemon_process_main.cc b/remoting/host/win/daemon_process_main.cc
deleted file mode 100644
index e7c2795..0000000
--- a/remoting/host/win/daemon_process_main.cc
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// This file implements the Windows service controlling Me2Me host processes
-// running within user sessions.
-
-#include "remoting/host/win/daemon_process_main.h"
-
-#include "base/at_exit.h"
-#include "base/base_switches.h"
-#include "base/command_line.h"
-#include "base/file_path.h"
-#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
-#include "remoting/base/breakpad.h"
-#include "remoting/host/branding.h"
-#include "remoting/host/host_exit_codes.h"
-#include "remoting/host/logging.h"
-#include "remoting/host/usage_stats_consent.h"
-#include "remoting/host/win/host_service.h"
-
-using base::StringPrintf;
-
-namespace {
-
-// Command line switches:
-
-// "--help" or "--?" prints the usage message.
-const char kHelpSwitchName[] = "help";
-const char kQuestionSwitchName[] = "?";
-
-const wchar_t kUsageMessage[] =
- L"\n"
- L"Usage: %ls [options]\n"
- L"\n"
- L"Options:\n"
- L" --console - Run the service interactively for debugging purposes.\n"
- L" --elevate=<...> - Run <...> elevated.\n"
- L" --help, --? - Print this message.\n";
-
-// The command line parameters that should be copied from the service's command
-// line when launching an elevated child.
-const char* kCopiedSwitchNames[] = {
- "host-config", "daemon-pipe", switches::kV, switches::kVModule };
-
-void usage(const FilePath& program_name) {
- LOG(INFO) << StringPrintf(kUsageMessage,
- UTF16ToWide(program_name.value()).c_str());
-}
-
-} // namespace
-
-namespace remoting {
-
-int DaemonProcessMain() {
-#ifdef OFFICIAL_BUILD
- if (IsUsageStatsAllowed()) {
- InitializeCrashReporting();
- }
-#endif // OFFICIAL_BUILD
-
- // This object instance is required by Chrome code (for example,
- // FilePath, LazyInstance, MessageLoop, Singleton, etc).
- base::AtExitManager exit_manager;
-
- // CommandLine::Init() ignores the passed |argc| and |argv| on Windows getting
- // the command line from GetCommandLineW(), so we can safely pass NULL here.
- CommandLine::Init(0, NULL);
-
- InitHostLogging();
-
- const CommandLine* command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(kHelpSwitchName) ||
- command_line->HasSwitch(kQuestionSwitchName)) {
- usage(command_line->GetProgram());
- return kSuccessExitCode;
- }
-
- HostService* service = HostService::GetInstance();
- if (!service->InitWithCommandLine(command_line)) {
- usage(command_line->GetProgram());
- return kUsageExitCode;
- }
-
- return service->Run();
-}
-
-} // namespace remoting
diff --git a/remoting/host/win/daemon_process_main.h b/remoting/host/win/daemon_process_main.h
deleted file mode 100644
index ef79c80..0000000
--- a/remoting/host/win/daemon_process_main.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef REMOTING_HOST_WIN_DAEMON_PROCESS_MAIN_H_
-#define REMOTING_HOST_WIN_DAEMON_PROCESS_MAIN_H_
-
-#include "remoting/host/host_export.h"
-
-namespace remoting {
-
-// The daemon process's entry point.
-HOST_EXPORT int DaemonProcessMain();
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_WIN_DAEMON_PROCESS_MAIN_H_
diff --git a/remoting/host/win/desktop_process_entry_point.cc b/remoting/host/win/desktop_process_entry_point.cc
deleted file mode 100644
index e54710e..0000000
--- a/remoting/host/win/desktop_process_entry_point.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "remoting/host/desktop_process_main.h"
-
-// The entry point of the desktop process binary. In order to be really small
-// the app doesn't link against the CRT.
-void DesktopProcessEntryPoint() {
- int exit_code = remoting::DesktopProcessMain(0, NULL);
- ExitProcess(exit_code);
-}
diff --git a/remoting/host/win/elevated_controller.cc b/remoting/host/win/elevated_controller.cc
index 89c6fc9..a43203d 100644
--- a/remoting/host/win/elevated_controller.cc
+++ b/remoting/host/win/elevated_controller.cc
@@ -18,7 +18,7 @@
#include "remoting/host/branding.h"
#include "remoting/host/usage_stats_consent.h"
#include "remoting/host/verify_config_window_win.h"
-#include "remoting/host/win/core_resource.h"
+#include "remoting/host/win/elevated_controller_resource.h"
#include "remoting/host/win/security_descriptor.h"
namespace remoting {
diff --git a/remoting/host/win/elevated_controller.rc b/remoting/host/win/elevated_controller.rc
new file mode 100644
index 0000000..70b218c
--- /dev/null
+++ b/remoting/host/win/elevated_controller.rc
@@ -0,0 +1,69 @@
+#include "afxres.h"
+
+// Embedded type library.
+1 typelib "remoting/host/elevated_controller.tlb"
+
+#include "elevated_controller_resource.h"
+
+// English (U.S.) resources
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+STRINGTABLE
+BEGIN
+#ifdef OFFICIAL_BUILD
+ IDS_CONTROLLER "Chrome Remote Desktop Host Controller"
+#else
+ IDS_CONTROLLER "Chromoting Host Controller"
+#endif
+END
+
+IDD_VERIFY_CONFIG_DIALOG ICON "remoting/resources/chromoting.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_VERIFY_CONFIG_DIALOG DIALOGEX 0, 0, 221, 106
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUPWINDOW | WS_CAPTION
+EXSTYLE 0
+CAPTION "kTitle"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ LTEXT "kConfirmConfigChange",IDC_MESSAGE,7,7,207,30
+ LTEXT "kAccount",IDC_EMAIL_LABEL,7,38,50,30
+ LTEXT "kEmail",IDC_EMAIL,60,38,110,30
+ LTEXT "kPin",IDC_PIN_LABEL,7,55,50,30
+ EDITTEXT IDC_PIN,60,55,100,15,WS_TABSTOP | ES_PASSWORD | ES_NUMBER
+ DEFPUSHBUTTON "kOK",IDOK,68,86,68,14,WS_TABSTOP
+ PUSHBUTTON "kCancel",IDCANCEL,146,86,68,14,WS_TABSTOP
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_VERIFY_CONFIG_DIALOG, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 214
+ VERTGUIDE, 105
+ VERTGUIDE, 116
+ VERTGUIDE, 203
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 52
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
diff --git a/remoting/host/win/elevated_controller_entry_point.cc b/remoting/host/win/elevated_controller_entry_point.cc
deleted file mode 100644
index 747ff4d..0000000
--- a/remoting/host/win/elevated_controller_entry_point.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "remoting/host/win/elevated_controller_module.h"
-
-// The entry point of the elevated controller binary. In order to be really
-// small the app doesn't link against the CRT.
-void ElevatedControllerEntryPoint() {
- int exit_code = remoting::ElevatedControllerMain();
- ExitProcess(exit_code);
-}
diff --git a/remoting/host/win/elevated_controller_module.cc b/remoting/host/win/elevated_controller_module.cc
index 315da8f..620901c 100644
--- a/remoting/host/win/elevated_controller_module.cc
+++ b/remoting/host/win/elevated_controller_module.cc
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "remoting/host/win/elevated_controller_module.h"
-
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
@@ -13,6 +11,8 @@
#include "remoting/base/breakpad.h"
#include "remoting/host/logging.h"
#include "remoting/host/usage_stats_consent.h"
+
+// MIDL-generated declarations.
#include "remoting/host/win/elevated_controller.h"
namespace remoting {
@@ -23,10 +23,15 @@ class ElevatedControllerModule
DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib)
};
-int ElevatedControllerMain() {
+} // namespace remoting
+
+
+remoting::ElevatedControllerModule _AtlModule;
+
+int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int command) {
#ifdef OFFICIAL_BUILD
- if (IsUsageStatsAllowed()) {
- InitializeCrashReporting();
+ if (remoting::IsUsageStatsAllowed()) {
+ remoting::InitializeCrashReporting();
}
#endif // OFFICIAL_BUILD
@@ -42,10 +47,7 @@ int ElevatedControllerMain() {
// FilePath, LazyInstance, MessageLoop).
base::AtExitManager exit_manager;
- InitHostLogging();
+ remoting::InitHostLogging();
- ElevatedControllerModule module;
- return module.WinMain(SW_HIDE);
+ return _AtlModule.WinMain(command);
}
-
-} // namespace remoting
diff --git a/remoting/host/win/elevated_controller_module.h b/remoting/host/win/elevated_controller_module.h
deleted file mode 100644
index 6b67cdc..0000000
--- a/remoting/host/win/elevated_controller_module.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef REMOTING_HOST_WIN_ELEVATED_CONTROLLER_MODULE_H_
-#define REMOTING_HOST_WIN_ELEVATED_CONTROLLER_MODULE_H_
-
-#include "remoting/host/host_export.h"
-
-namespace remoting {
-
-// The elevated controller's entry point exported from remoting_core.dll.
-HOST_EXPORT int ElevatedControllerMain();
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_WIN_ELEVATED_CONTROLLER_MODULE_H_
diff --git a/remoting/host/win/elevated_controller_resource.h b/remoting/host/win/elevated_controller_resource.h
new file mode 100644
index 0000000..ec64d5b
--- /dev/null
+++ b/remoting/host/win/elevated_controller_resource.h
@@ -0,0 +1,19 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef REMOTING_HOST_ELEVATED_CONTROLLER_RESOURCE_H_
+#define REMOTING_HOST_ELEVATED_CONTROLLER_RESOURCE_H_
+
+// N.B. Values of both |IDS_CONTROLLER| and |IDD_VERIFY_CONFIG_DIALOG| are
+// hardcoded in remoting/host/install/chromoting.wxs. Make sure the values
+// below and in the installation script match.
+#define IDS_CONTROLLER 100
+#define IDD_VERIFY_CONFIG_DIALOG 101
+#define IDC_MESSAGE 102
+#define IDC_EMAIL 103
+#define IDC_PIN 104
+#define IDC_EMAIL_LABEL 105
+#define IDC_PIN_LABEL 106
+
+#endif // REMOTING_HOST_ELEVATED_CONTROLLER_RESOURCE_H_
diff --git a/remoting/host/win/host_process_entry_point.cc b/remoting/host/win/host_process_entry_point.cc
deleted file mode 100644
index e89c9ca..0000000
--- a/remoting/host/win/host_process_entry_point.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "remoting/host/remoting_me2me_host.h"
-
-// The entry point of the host process binary. In order to be really small
-// the app doesn't link against the CRT.
-void HostProcessEntryPoint() {
- int exit_code = remoting::HostProcessMain(0, NULL);
- ExitProcess(exit_code);
-}
diff --git a/remoting/host/win/host_service.cc b/remoting/host/win/host_service.cc
index 90e69c4..84c7f7c 100644
--- a/remoting/host/win/host_service.cc
+++ b/remoting/host/win/host_service.cc
@@ -11,6 +11,7 @@
#include <shellapi.h>
#include <wtsapi32.h>
+#include "base/at_exit.h"
#include "base/base_paths.h"
#include "base/base_switches.h"
#include "base/bind.h"
@@ -19,9 +20,12 @@
#include "base/message_loop.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
+#include "base/stringprintf.h"
#include "base/threading/thread.h"
+#include "base/utf_string_conversions.h"
#include "base/win/wrapped_window_proc.h"
#include "remoting/base/auto_thread.h"
+#include "remoting/base/breakpad.h"
#include "remoting/base/scoped_sc_handle_win.h"
#include "remoting/base/stoppable.h"
#include "remoting/host/branding.h"
@@ -32,13 +36,16 @@
#include "remoting/host/daemon_process.h"
#endif // defined(REMOTING_MULTI_PROCESS)
-#include "remoting/host/win/core_resource.h"
+#include "remoting/host/usage_stats_consent.h"
+#include "remoting/host/win/host_service_resource.h"
#include "remoting/host/win/wts_console_observer.h"
#if !defined(REMOTING_MULTI_PROCESS)
#include "remoting/host/win/wts_console_session_process_driver.h"
#endif // !defined(REMOTING_MULTI_PROCESS)
+using base::StringPrintf;
+
namespace {
// Session id that does not represent any session.
@@ -59,11 +66,29 @@ const char kConsoleSwitchName[] = "console";
// a UAC prompt if necessary.
const char kElevateSwitchName[] = "elevate";
+// "--help" or "--?" prints the usage message.
+const char kHelpSwitchName[] = "help";
+const char kQuestionSwitchName[] = "?";
+
+const wchar_t kUsageMessage[] =
+ L"\n"
+ L"Usage: %ls [options]\n"
+ L"\n"
+ L"Options:\n"
+ L" --console - Run the service interactively for debugging purposes.\n"
+ L" --elevate=<...> - Run <...> elevated.\n"
+ L" --help, --? - Print this message.\n";
+
// The command line parameters that should be copied from the service's command
// line when launching an elevated child.
const char* kCopiedSwitchNames[] = {
"host-config", "daemon-pipe", switches::kV, switches::kVModule };
+void usage(const FilePath& program_name) {
+ LOG(INFO) << StringPrintf(kUsageMessage,
+ UTF16ToWide(program_name.value()).c_str());
+}
+
} // namespace
namespace remoting {
@@ -432,3 +457,39 @@ LRESULT CALLBACK HostService::SessionChangeNotificationProc(HWND hwnd,
}
} // namespace remoting
+
+int CALLBACK WinMain(HINSTANCE instance,
+ HINSTANCE previous_instance,
+ LPSTR raw_command_line,
+ int show_command) {
+#ifdef OFFICIAL_BUILD
+ if (remoting::IsUsageStatsAllowed()) {
+ remoting::InitializeCrashReporting();
+ }
+#endif // OFFICIAL_BUILD
+
+ // This object instance is required by Chrome code (for example,
+ // FilePath, LazyInstance, MessageLoop, Singleton, etc).
+ base::AtExitManager exit_manager;
+
+ // CommandLine::Init() ignores the passed |argc| and |argv| on Windows getting
+ // the command line from GetCommandLineW(), so we can safely pass NULL here.
+ CommandLine::Init(0, NULL);
+
+ remoting::InitHostLogging();
+
+ const CommandLine* command_line = CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(kHelpSwitchName) ||
+ command_line->HasSwitch(kQuestionSwitchName)) {
+ usage(command_line->GetProgram());
+ return remoting::kSuccessExitCode;
+ }
+
+ remoting::HostService* service = remoting::HostService::GetInstance();
+ if (!service->InitWithCommandLine(command_line)) {
+ usage(command_line->GetProgram());
+ return remoting::kUsageExitCode;
+ }
+
+ return service->Run();
+}
diff --git a/remoting/host/win/host_service.rc b/remoting/host/win/host_service.rc
new file mode 100644
index 0000000..98e7a56
--- /dev/null
+++ b/remoting/host/win/host_service.rc
@@ -0,0 +1,80 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "host_service_resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "host_service_resource.\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+#ifdef OFFICIAL_BUILD
+ IDS_DISPLAY_SERVICE_NAME "Chrome Remote Desktop Service"
+ IDS_SERVICE_DESCRIPTION "This service enables incoming connections from Chrome Remote Desktop clients."
+#else
+ IDS_DISPLAY_SERVICE_NAME "Chromoting Service"
+ IDS_SERVICE_DESCRIPTION "This service enables incoming connections from Chromoting clients."
+#endif
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/remoting/host/win/host_service_resource.h b/remoting/host/win/host_service_resource.h
new file mode 100644
index 0000000..82de04d
--- /dev/null
+++ b/remoting/host/win/host_service_resource.h
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by host_service.rc
+//
+#define IDS_DISPLAY_SERVICE_NAME 101
+#define IDS_SERVICE_DESCRIPTION 102
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 103
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1001
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/remoting/host/win/remoting_core.ver b/remoting/host/win/remoting_core.ver
deleted file mode 100644
index 33a6150..0000000
--- a/remoting/host/win/remoting_core.ver
+++ /dev/null
@@ -1,4 +0,0 @@
-BINARY=BINARY_CORE
-FILE_TYPE=VFT_DLL
-INTERNAL_NAME=remoting_core.dll
-ORIGINAL_FILENAME=remoting_core.dll
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp
index fb483e8..a36f680 100644
--- a/remoting/remoting.gyp
+++ b/remoting/remoting.gyp
@@ -236,9 +236,6 @@
'include_dirs': [
'..', # Root of Chrome checkout
],
- 'variables': {
- 'win_debug_RuntimeChecks': '0',
- },
'conditions': [
['remoting_multi_process != 0', {
'defines': [
@@ -466,20 +463,20 @@
}, # end of target 'remoting_host'
{
- 'target_name': 'remoting_me2me_host_static',
- 'type': 'static_library',
+ 'target_name': 'remoting_me2me_host',
+ 'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
- '../base/base.gyp:base',
- '../base/base.gyp:base_i18n',
- '../media/media.gyp:media',
- '../net/net.gyp:net',
'remoting_base',
'remoting_breakpad',
'remoting_host',
'remoting_host_event_logger',
'remoting_host_logging',
'remoting_jingle_glue',
+ '../base/base.gyp:base',
+ '../base/base.gyp:base_i18n',
+ '../media/media.gyp:media',
+ '../net/net.gyp:net',
],
'defines': [
'VERSION=<(version_full)',
@@ -495,6 +492,7 @@
'host/curtain_mode_win.cc',
'host/posix/signal_handler.cc',
'host/posix/signal_handler.h',
+ 'host/remoting_me2me_host.cc',
],
'conditions': [
['os_posix != 1', {
@@ -502,8 +500,84 @@
['exclude', '^host/posix/'],
],
}],
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ 'variables': {
+ 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
+ },
+ 'xcode_settings': {
+ 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
+ 'INFOPLIST_PREPROCESS': 'YES',
+ 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)" COPYRIGHT_INFO="<(copyright_info)"',
+ },
+ 'mac_bundle_resources': [
+ 'host/disconnect_window.xib',
+ 'host/remoting_me2me_host.icns',
+ 'host/remoting_me2me_host-Info.plist',
+ ],
+ 'mac_bundle_resources!': [
+ 'host/remoting_me2me_host-Info.plist',
+ ],
+ 'conditions': [
+ ['mac_breakpad==1', {
+ 'variables': {
+ # A real .dSYM is needed for dump_syms to operate on.
+ 'mac_real_dsym': 1,
+ },
+ 'defines': ['MAC_BREAKPAD'],
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
+ 'files': [
+ '<(PRODUCT_DIR)/crash_inspector',
+ '<(PRODUCT_DIR)/crash_report_sender.app'
+ ],
+ },
+ ],
+ }], # mac_breakpad==1
+ ], # conditions
+ }], # OS=mac
+ ['OS=="win"', {
+ 'product_name': 'remoting_host',
+ 'dependencies': [
+ 'remoting_version_resources',
+ ],
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_host_me2me_version.rc',
+ 'host/host_ui.rc',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lcomctl32.lib',
+ ],
+ },
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'AdditionalOptions': [
+ "\"/manifestdependency:type='win32' "
+ "name='Microsoft.Windows.Common-Controls' "
+ "version='6.0.0.0' "
+ "processorArchitecture='*' "
+ "publicKeyToken='6595b64144ccf1df' language='*'\"",
+ ],
+ 'conditions': [
+ ['buildtype == "Official" and remoting_multi_process == 0', {
+ 'AdditionalOptions': [
+ "\"/MANIFESTUAC:level='requireAdministrator' "
+ "uiAccess='true'\"",
+ ],
+ }],
+ ],
+ 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
+ 'OutputFile': '$(OutDir)\\remoting_host.exe',
+ # 2 == /SUBSYSTEM:WINDOWS
+ 'SubSystem': '2',
+ },
+ },
+ }],
], # end of 'conditions'
- }, # end of target 'remoting_me2me_host_static'
+ }, # end of target 'remoting_me2me_host'
{
'target_name': 'remoting_host_keygen',
@@ -548,7 +622,7 @@
['OS=="win"', {
'dependencies': [
'../google_update/google_update.gyp:google_update',
- 'remoting_controller_idl',
+ 'remoting_elevated_controller',
],
}],
],
@@ -572,7 +646,7 @@
],
'sources': [
'base/dispatch_win.h',
- 'host/win/core_resource.h',
+ 'host/host_ui_resource.h',
'host/plugin/host_log_handler.cc',
'host/plugin/host_log_handler.h',
'host/plugin/host_plugin.cc',
@@ -617,7 +691,7 @@
}], # OS=="mac"
[ 'OS=="win"', {
'dependencies': [
- 'remoting_controller_idl',
+ 'remoting_elevated_controller',
'remoting_version_resources',
],
'include_dirs': [
@@ -625,86 +699,78 @@
],
'sources': [
'<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_host_plugin_version.rc',
- 'host/win/core.rc',
+ 'host/host_ui.rc',
'host/plugin/host_plugin.def',
],
}],
],
}, # end of target 'remoting_host_plugin'
- ], # end of 'targets'
- }], # 'enable_remoting_host==1'
-
- ['OS!="win" and enable_remoting_host==1', {
- 'targets': [
{
- 'target_name': 'remoting_me2me_host',
+ 'target_name': 'remoting_desktop',
'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
+ 'defines': [
+ 'REMOTING_MULTI_PROCESS',
+ ],
'dependencies': [
- '../base/base.gyp:base',
- '../base/base.gyp:base_i18n',
- '../media/media.gyp:media',
- '../net/net.gyp:net',
'remoting_base',
'remoting_breakpad',
'remoting_host',
- 'remoting_host_event_logger',
'remoting_host_logging',
- 'remoting_jingle_glue',
- 'remoting_me2me_host_static',
- ],
- 'defines': [
- 'VERSION=<(version_full)',
+ '../base/base.gyp:base',
+ '../ipc/ipc.gyp:ipc',
],
'sources': [
- 'host/remoting_me2me_host.cc',
- 'host/remoting_me2me_host.h',
+ 'host/desktop_process.cc',
+ 'host/desktop_process.h',
+ 'host/desktop_process_main.cc',
+ 'host/desktop_session_agent.cc',
+ 'host/desktop_session_agent.h',
+ 'host/desktop_session_agent_posix.cc',
+ 'host/desktop_session_agent_win.cc',
],
'conditions': [
- ['OS=="mac"', {
- 'mac_bundle': 1,
- 'variables': {
- 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
- 'INFOPLIST_PREPROCESS': 'YES',
- 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)" COPYRIGHT_INFO="<(copyright_info)"',
- },
- 'mac_bundle_resources': [
- 'host/disconnect_window.xib',
- 'host/remoting_me2me_host.icns',
- 'host/remoting_me2me_host-Info.plist',
+ ['OS=="win"', {
+ 'dependencies': [
+ 'remoting_version_resources',
],
- 'mac_bundle_resources!': [
- 'host/remoting_me2me_host-Info.plist',
+ 'sources': [
+ 'host/host_ui.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_desktop_version.rc',
],
- 'conditions': [
- ['mac_breakpad==1', {
- 'variables': {
- # A real .dSYM is needed for dump_syms to operate on.
- 'mac_real_dsym': 1,
- },
- 'defines': ['MAC_BREAKPAD'],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
- 'files': [
- '<(PRODUCT_DIR)/crash_inspector',
- '<(PRODUCT_DIR)/crash_report_sender.app'
+ 'link_settings': {
+ 'libraries': [
+ '-lcomctl32.lib',
+ ],
+ },
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'AdditionalOptions': [
+ "\"/manifestdependency:type='win32' "
+ "name='Microsoft.Windows.Common-Controls' "
+ "version='6.0.0.0' "
+ "processorArchitecture='*' "
+ "publicKeyToken='6595b64144ccf1df' language='*'\"",
+ ],
+ 'conditions': [
+ ['buildtype == "Official"', {
+ 'AdditionalOptions': [
+ "\"/MANIFESTUAC:level='requireAdministrator' "
+ "uiAccess='true'\"",
],
- },
+ }],
],
- }], # mac_breakpad==1
- ], # conditions
- }], # OS=mac
- ], # end of 'conditions'
- }, # end of target 'remoting_me2me_host'
+ # 2 == /SUBSYSTEM:WINDOWS
+ 'SubSystem': '2',
+ },
+ },
+ }],
+ ],
+ }, # end of target 'remoting_desktop'
], # end of 'targets'
- }], # 'OS!="win" and enable_remoting_host==1'
-
+ }], # 'enable_remoting_host==1'
['OS=="linux" and chromeos==0', {
'targets': [
@@ -966,7 +1032,7 @@
'type': 'none',
'dependencies': [
'../breakpad/breakpad.gyp:dump_syms',
- 'remoting_me2me_host',
+ 'remoting_me2me_host',
],
'actions': [
{
@@ -1007,7 +1073,7 @@
],
}, # end of target 'remoting_breakpad_tester'
{
- 'target_name': 'remoting_controller_idl',
+ 'target_name': 'remoting_elevated_controller',
'type': 'static_library',
'sources': [
'host/win/elevated_controller_idl.templ',
@@ -1047,7 +1113,7 @@
'msvs_cygwin_shell': 1,
},
],
- }, # end of target 'remoting_controller_idl'
+ }, # end of target 'remoting_elevated_controller'
{
'target_name': 'remoting_configurer',
'type': 'executable',
@@ -1084,18 +1150,64 @@
},
}, # end of target 'remoting_configurer'
{
- 'target_name': 'remoting_core',
- 'type': 'shared_library',
+ 'target_name': 'remoting_controller',
+ 'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
'defines' : [
'_ATL_APARTMENT_THREADED',
'_ATL_NO_AUTOMATIC_NAMESPACE',
'_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
- 'HOST_IMPLEMENTATION',
'STRICT',
'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
- 'VERSION=<(version_full)',
],
+ 'include_dirs': [
+ '<(INTERMEDIATE_DIR)',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ 'remoting_breakpad',
+ 'remoting_elevated_controller',
+ 'remoting_host',
+ 'remoting_host_logging',
+ 'remoting_protocol',
+ 'remoting_version_resources',
+ ],
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_controller_version.rc',
+ 'host/pin_hash.cc',
+ 'host/pin_hash.h',
+ 'host/verify_config_window_win.cc',
+ 'host/verify_config_window_win.h',
+ 'host/win/elevated_controller.cc',
+ 'host/win/elevated_controller.h',
+ 'host/win/elevated_controller.rc',
+ 'host/win/elevated_controller_module.cc',
+ 'host/win/omaha.cc',
+ 'host/win/omaha.h',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lcomctl32.lib',
+ ],
+ },
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'AdditionalOptions': [
+ "\"/manifestdependency:type='win32' "
+ "name='Microsoft.Windows.Common-Controls' "
+ "version='6.0.0.0' "
+ "processorArchitecture='*' "
+ "publicKeyToken='6595b64144ccf1df' language='*'\"",
+ ],
+ # 2 == /SUBSYSTEM:WINDOWS
+ 'SubSystem': '2',
+ },
+ },
+ }, # end of target 'remoting_controller'
+ {
+ 'target_name': 'remoting_daemon',
+ 'type': 'executable',
+ 'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'../base/base.gyp:base',
'../base/base.gyp:base_static',
@@ -1104,17 +1216,12 @@
'../net/net.gyp:net',
'remoting_base',
'remoting_breakpad',
- 'remoting_controller_idl',
'remoting_host',
- 'remoting_host_event_logger',
'remoting_host_logging',
- 'remoting_me2me_host_static',
- 'remoting_protocol',
'remoting_version_resources',
],
'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
- '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_core_version.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_daemon_version.rc',
'base/scoped_sc_handle_win.h',
'../media/video/capture/screen/win/desktop.cc',
'../media/video/capture/screen/win/desktop.h',
@@ -1127,39 +1234,19 @@
'host/daemon_process.cc',
'host/daemon_process.h',
'host/daemon_process_win.cc',
- 'host/desktop_process.cc',
- 'host/desktop_process.h',
- 'host/desktop_process_main.cc',
- 'host/desktop_process_main.h',
'host/desktop_session.cc',
'host/desktop_session.h',
- 'host/desktop_session_agent.cc',
- 'host/desktop_session_agent.h',
- 'host/desktop_session_agent_posix.cc',
- 'host/desktop_session_agent_win.cc',
'host/desktop_session_win.cc',
'host/desktop_session_win.h',
'host/host_exit_codes.h',
- 'host/host_export.h',
'host/ipc_constants.cc',
'host/ipc_constants.h',
- 'host/remoting_me2me_host.cc',
- 'host/remoting_me2me_host.h',
'host/sas_injector.h',
'host/sas_injector_win.cc',
- 'host/verify_config_window_win.cc',
- 'host/verify_config_window_win.h',
- 'host/win/core.cc',
- 'host/win/core.rc',
- 'host/win/core_resource.h',
- 'host/win/daemon_process_main.cc',
- 'host/win/daemon_process_main.h',
- 'host/win/elevated_controller.cc',
- 'host/win/elevated_controller.h',
- 'host/win/elevated_controller_module.cc',
- 'host/win/elevated_controller_module.h',
'host/win/host_service.cc',
'host/win/host_service.h',
+ 'host/win/host_service.rc',
+ 'host/win/host_service_resource.h',
'host/win/omaha.cc',
'host/win/omaha.h',
'host/win/unprivileged_process_delegate.cc',
@@ -1177,121 +1264,14 @@
'msvs_settings': {
'VCLinkerTool': {
'AdditionalDependencies': [
- 'comctl32.lib',
'wtsapi32.lib',
],
- 'AdditionalOptions': [
- "\"/manifestdependency:type='win32' "
- "name='Microsoft.Windows.Common-Controls' "
- "version='6.0.0.0' "
- "processorArchitecture='*' "
- "publicKeyToken='6595b64144ccf1df' language='*'\"",
- ],
- },
- },
- }, # end of target 'remoting_controller_static'
- {
- 'target_name': 'remoting_controller',
- 'type': 'executable',
- 'variables': { 'enable_wexit_time_destructors': 1, },
- 'dependencies': [
- 'remoting_core',
- 'remoting_version_resources',
- ],
- 'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_controller_version.rc',
- 'host/win/elevated_controller_entry_point.cc',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'EntryPointSymbol': 'ElevatedControllerEntryPoint',
- 'IgnoreAllDefaultLibraries': 'true',
- 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
- },
- },
- }, # end of target 'remoting_controller'
- {
- 'target_name': 'remoting_daemon',
- 'type': 'executable',
- 'variables': { 'enable_wexit_time_destructors': 1, },
- 'dependencies': [
- 'remoting_core',
- 'remoting_version_resources',
- ],
- 'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_daemon_version.rc',
- 'host/win/daemon_process_entry_point.cc',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'EntryPointSymbol': 'DaemonProcessEntryPoint',
- 'IgnoreAllDefaultLibraries': 'true',
- 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
+ # 2 == /SUBSYSTEM:WINDOWS
+ 'SubSystem': '2',
},
},
}, # end of target 'remoting_daemon'
- {
- 'target_name': 'remoting_desktop',
- 'type': 'executable',
- 'variables': { 'enable_wexit_time_destructors': 1, },
- 'dependencies': [
- 'remoting_core',
- 'remoting_version_resources',
- ],
- 'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_desktop_version.rc',
- 'host/win/desktop_process_entry_point.cc',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'conditions': [
- ['buildtype == "Official"', {
- 'AdditionalOptions': [
- "\"/MANIFESTUAC:level='requireAdministrator' "
- "uiAccess='true'\"",
- ],
- }],
- ],
- 'EntryPointSymbol': 'DesktopProcessEntryPoint',
- 'IgnoreAllDefaultLibraries': 'true',
- 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
- },
- },
- }, # end of target 'remoting_desktop'
-
- {
- 'target_name': 'remoting_host_exe',
- 'product_name': 'remoting_host',
- 'type': 'executable',
- 'variables': { 'enable_wexit_time_destructors': 1, },
- 'dependencies': [
- 'remoting_core',
- 'remoting_version_resources',
- ],
- 'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_host_version.rc',
- 'host/win/host_process_entry_point.cc',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'conditions': [
- ['buildtype == "Official" and remoting_multi_process == 0', {
- 'AdditionalOptions': [
- "\"/MANIFESTUAC:level='requireAdministrator' "
- "uiAccess='true'\"",
- ],
- }],
- ],
- 'EntryPointSymbol': 'HostProcessEntryPoint',
- 'IgnoreAllDefaultLibraries': 'true',
- 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
- 'OutputFile': '$(OutDir)\\remoting_host.exe',
- 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
- },
- },
- }, # end of target 'remoting_host_exe'
-
# Generates the version information resources for the Windows binaries.
# The .RC files are generated from the "version.rc.version" template and
# placed in the "<(SHARED_INTERMEDIATE_DIR)/remoting" folder.
@@ -1320,11 +1300,10 @@
},
'sources': [
'host/plugin/remoting_host_plugin.ver',
+ 'host/remoting_desktop.ver',
+ 'host/remoting_host_me2me.ver',
'host/win/remoting_controller.ver',
- 'host/win/remoting_core.ver',
'host/win/remoting_daemon.ver',
- 'host/win/remoting_desktop.ver',
- 'host/win/remoting_host.ver',
],
'rules': [
{
@@ -1411,19 +1390,16 @@
'type': 'none',
'dependencies': [
'remoting_controller',
- 'remoting_core',
'remoting_daemon',
- 'remoting_host_exe',
+ 'remoting_me2me_host',
],
'compiled_inputs': [
'<(PRODUCT_DIR)/remoting_controller.exe',
- '<(PRODUCT_DIR)/remoting_core.dll',
'<(PRODUCT_DIR)/remoting_daemon.exe',
'<(PRODUCT_DIR)/remoting_host.exe',
],
'compiled_inputs_dst': [
'files/remoting_controller.exe',
- 'files/remoting_core.dll',
'files/remoting_daemon.exe',
'files/remoting_host.exe',
],
diff --git a/remoting/version.rc.version b/remoting/version.rc.version
index 6d9789c..caf4842 100644
--- a/remoting/version.rc.version
+++ b/remoting/version.rc.version
@@ -15,7 +15,6 @@
#define BINARY_DAEMON 3
#define BINARY_CONTROLLER 4
#define BINARY_DESKTOP 5
-#define BINARY_CORE 6
#define BINARY @BINARY@
#if (BINARY == BINARY_HOST_PLUGIN)
@@ -28,8 +27,6 @@
#define FILE_DESCRIPTION "@CONTROLLER_DESCRIPTION@"
#elif (BINARY == BINARY_DESKTOP)
#define FILE_DESCRIPTION "@DESKTOP_DESCRIPTION@"
-#elif (BINARY == BINARY_CORE)
-#define FILE_DESCRIPTION "@CORE_DESCRIPTION@"
#endif
VS_VERSION_INFO VERSIONINFO