Index: remoting/host/installer/win/chromoting.wxs |
diff --git a/remoting/host/installer/win/chromoting.wxs b/remoting/host/installer/win/chromoting.wxs |
index 025526daa4bfca485ecdc552c34d6ced80ff67f6..be2d6f88148efcb7915c97f206fe7160476b19d7 100644 |
--- a/remoting/host/installer/win/chromoting.wxs |
+++ b/remoting/host/installer/win/chromoting.wxs |
@@ -41,13 +41,8 @@ |
<?define ChromotingTypelib = "{b6396c45-b0cc-456b-9f49-f12964ee6df4}" ?> |
<!-- AppIDs used by the COM components. --> |
- <?define ControllerAppid = "{4ff35d5e-d226-4550-9248-03e7779e67de}" ?> |
<?define RdpAppid = "{52e6fd1a-f16e-49c0-aacb-5436a915448b}" ?> |
- <?define ControllerClass = "ElevatedController Class" ?> |
- <?define ControllerProgid = |
- "ChromotingElevatedController.ElevatedController" ?> |
- |
<?define IRdpDesktopSessionId = "{6a7699f0-ee43-43e7-aa30-a6738f9bd470}" ?> |
<?define IRdpDesktopSessionEventHandlerId = |
"{b59b96da-83cb-40ee-9b91-c377400fc3e3}" ?> |
@@ -72,10 +67,6 @@ |
<?define RdpSd = "010014807800000088000000140000003000000002001C000100000011001400040000000101000000000010002000000200480003000000000014000B000000010100000000000512000000000018000B00000001020000000000052000000020020000000014000B0000000101000000000005130000000102000000000005200000002002000001020000000000052000000020020000" ?> |
<!-- Verify that all required parameters are defined. --> |
- <?ifndef ControllerClsid ?> |
- <?error ControllerClsid must be defined ?> |
- <?endif?> |
- |
<?ifndef RdpDesktopSessionClsid ?> |
<?error RdpDesktopSessionClsid must be defined ?> |
<?endif?> |
@@ -302,11 +293,6 @@ |
<RegistryKey Root="HKLM" |
Key="SOFTWARE\Classes"> |
<RegistryKey Key="AppId"> |
- <RegistryKey Key="$(var.ControllerAppid)" Action="create"> |
- <RegistryValue Type="string" |
- Value="ChromotingElevatedController"/> |
- </RegistryKey> |
- |
<RegistryKey Key="$(var.RdpAppid)" Action="create"> |
<RegistryValue Type="string" |
Value="ChromotingRdpDesktopSession"/> |
@@ -323,74 +309,7 @@ |
</RegistryKey> |
- <RegistryKey Key="$(var.ControllerProgid)" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerClass)"/> |
- |
- <RegistryKey Key="CLSID" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerClsid)"/> |
- </RegistryKey> |
- |
- <RegistryKey Key="CurVer" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerProgid).$(var.Version)"/> |
- </RegistryKey> |
- </RegistryKey> |
- |
- <RegistryKey Key="$(var.ControllerProgid).$(var.Version)" |
- Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerClass)"/> |
- |
- <RegistryKey Key="CLSID" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerClsid)"/> |
- </RegistryKey> |
- </RegistryKey> |
- |
<RegistryKey Key="CLSID"> |
- <RegistryKey Key="$(var.ControllerClsid)" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerClass)"/> |
- |
- <RegistryValue Type="string" |
- Name="AppID" |
- Value="$(var.ControllerAppid)"/> |
- |
- <RegistryValue Type="string" |
- Name="LocalizedString" |
- Value="@[binaries]$(var.CoreBinary),-103"/> |
- |
- <RegistryKey Key="LocalServer32" Action="create"> |
- <RegistryValue Type="string" |
- Value="[binaries]$(var.HostBinary) --type=controller"/> |
- </RegistryKey> |
- |
- <RegistryKey Key="ProgID" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerProgid).$(var.Version)"/> |
- </RegistryKey> |
- |
- <RegistryKey Key="TypeLib" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ChromotingTypelib)"/> |
- </RegistryKey> |
- |
- <RegistryKey Key="VersionIndependentProgID" Action="create"> |
- <RegistryValue Type="string" |
- Value="$(var.ControllerProgid)"/> |
- </RegistryKey> |
- |
- <RegistryKey Key="Elevation" Action="create"> |
- <RegistryValue Type="integer" |
- Name="Enabled" |
- Value="1"/> |
- <RegistryValue Type="string" |
- Name="IconReference" |
- Value="@[binaries]$(var.CoreBinary),-104"/> |
- </RegistryKey> |
- </RegistryKey> |
<RegistryKey Key="$(var.RdpDesktopSessionClsid)" Action="create"> |
<RegistryValue Type="string" |
Value="RdpDesktopSession Class"/> |
@@ -626,8 +545,7 @@ |
installation that is configured to start the service automatically. |
Here we check the startup type before making any changes, then restart |
- the service and change its startup type as needed once the installation |
- is finished. --> |
+ the service as needed once the installation is finished. --> |
<Property Id="CHROMOTING_SERVICE_START_TYPE"> |
<RegistrySearch Id="chromoting_service_start_type" |
Root="HKLM" |
@@ -640,13 +558,16 @@ |
Property="auto_start_service" |
Value="[CHROMOTING_SERVICE_START_TYPE]" /> |
- <CustomAction Id="set_auto_start_service" |
+ <CustomAction Id="start_chromoting_service" |
Impersonate="no" |
Execute="deferred" |
Script="jscript"> |
<![CDATA[ |
- var controller = new ActiveXObject("$(var.ControllerProgid)"); |
- controller.StartDaemon(); |
+ var ADS_SERVICE_STOPPED = 0x00000001; |
+ var service = GetObject("WinNT://./$(var.ServiceName),Service"); |
+ if (service.Status == ADS_SERVICE_STOPPED) { |
+ service.Start(); |
+ } |
]]> |
</CustomAction> |
@@ -696,7 +617,7 @@ |
<InstallExecuteSequence> |
<Custom Action="query_auto_start_service" Before="InstallInitialize"/> |
- <Custom Action="set_auto_start_service" After="StartServices"> |
+ <Custom Action="start_chromoting_service" After="StartServices"> |
<![CDATA[NOT REMOVE AND (auto_start_service = "#2")]]> |
</Custom> |