If this really is the C runtime then it's not going into the GAC (are
you using the merge modules?) but it is being committed to the SxS
directory at InstallFinalize (on Vista) so the effect is the same as if
you had a managed code service dependent on assemblies being installed
into the GAC. 

If it is the C runtime case and you have a C++ service your choices are
to start the service with a custom action after InstallFinalize or to
build the C++ with static link to the required runtime libraries. 

Phil Wilson 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Adam Majer
Sent: Tuesday, November 13, 2007 8:07 PM
To: WiX-users@lists.sourceforge.net
Subject: [WiX-users] Services + Vista + GAC

Hi,

I have a service I want to install and automatically start with an
installer. Now, the runtime for the service is not available until after
installer completed because the runtime goes into the GAC (it is just
the VS2005 SP1 C runtime).

One solution is to deploy the files locally (as in a per-user install),
but that doesn't work because the service uses a plugin that is in a
subdirectory of the installation. The location of the plugin is not easy
to change.

Another solution that was suggested here was to use a deferred custom
action to start the service. But that also doesn't seem to work. Using
WiX 2.x branch and it results in a runtime error. The custom action
works OK if run outside of the MSI. The error returned is

  "Unable to schedule operation. The action must be scheduled between
InstallInitialize and InstallFinalize."

Currently I have it as,

<Binary Id="blah" SourceFile="...."/>

<CustomAction Id="blah_ca" ExeCommand="" BinaryKey="blah"
Execute="deferred" Impersonate="no" Return="ignore" />

<InstallExecuteSequence>
  <Custom Action="blah_ca" OnExit="success" />
</InstallExecuteSequence>

Any ideas?

This problem will definitely keep surfacing regarding Vista and
services. Is there something being done either in the Windows Installer
or WiX to address this issue and allow services to start after GAC is
updated? Or update the GAC, start services then commit installation?? Or
is there a way to force GAC refresh (or whatever it is called) as an
installation sequence?

The current situation is a giant PITA.

- Adam

PS. I guess an alternative would be not to start the service on Vista
and ask user either to start it manually or restart the machine. Not a
good improvement from XP or 2003!

------------------------------------------------------------------------
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to