Re: Windows Service Install Project

From: Phil Wilson (pdjwilson_at_nospam.cox.net)
Date: 04/29/04


Date: Thu, 29 Apr 2004 08:45:31 -0700

I don't know why it's designed that way, but a lot of people have the same
problem as you, and unfortunately it means you can't use a VS setup project
that starts Services that have references to assemblies in the GAC. The
simplest detour for VS setups is to start the service in a Commit custom
action because VS has support for Commit custom actions and because
assemblies are in the GAC when they're called. This is not great because
there are situations in which Commit CAs aren't called (if rollback is
disabled, for example). If you can get your assembly out of the GAC, go for
it.

-- 
Phil Wilson
[MVP Windows Installer]
Shameless plug:
Definitive Guide to Windows Installer-
http://apress.com/book/bookDisplay.html?bID=280
"Euan Grant" <anonymous@discussions.microsoft.com> wrote in message
news:AC4A6223-E3ED-4443-9F08-E9107AC3FF19@microsoft.com...
> Is it possible to set this sort of behaviour for custom actions using the
Visual Studio Setup project?
>
> Not being experienced using orca, I am hesitant to make changes if it will
break my system when I go to install.
>
> Is there any reason behind this design? For windows service deployment
using the VS setup projects, I would have thought that most people would
install their shared libraries in the GAC, and as part of the installation
of their services, need to refer to them.
>
>
>      ----- Phil Wilson wrote: -----
>
>      Unfortunately it *hasn't* just placed the assemblies in the GAC.
Assemblies
>      aren't actually in the GAC until much later in the install than other
files
>      are on disk. If you look at the last paragraph of the documentation
for the
>      MsiAssembly table it describes the problem.
>      -- 
>      Phil Wilson [MVP Windows Installer]
>      ----
>      "Euan Grant" <anonymous@discussions.microsoft.com> wrote in message
>      news:A241A313-F477-4F5E-AAD2-608B86B9E477@microsoft.com...
>      > I am trying to setup a single setup project in VS.NET 2003 to
deploy two
>      windows services, an application, and the common libraries required
by both.
>      >> I want to install the services in two sub-directories under the
user
>      directory, and the main application in the user directory. I want to
common
>      libraries to be installed into the global assembly cache (done via
the
>      Global Assembly Cache Folder in the setup project).
>      >> I am calling the ProjectInstaller classes via custom actions in
the setup
>      project.
>      >> I am getting the following error when running the msi file:
>      >> "Unable to get installer types in the <windows service executable>
>      assembly. -> One or more of the types in the assembly unable to
load."
>      >> What is happening? How can I get the installer to recognise that
it has
>      just placed the assemblies with the required types in the GAC? Do
these not
>      becom available until the install has committed? Any help is greatly
>      appreciated.
>      >>>>


Relevant Pages

  • Re: Biztalk 2004 deployment problem
    ... installed in the GAC before they can be a part of a running BizTalk ... Each computer contains a GAC which must contain the assemblies that are ... BizTalk Server to process messages during run time, you must install all ... you can use the BizTalk Deployment Wizard to deploy ...
    (microsoft.public.biztalk.general)
  • Re: Please explain why the GAC cannot be referenced
    ... A point I'll make here is that the GAC is really intended as a deployment ... So development tools generally don't refer to assemblies ... product install that developers typically don't want on the dev machine. ... reference assemblies from them that happen to be installed to the GAC. ...
    (microsoft.public.dotnet.framework)
  • Re: .NET versioning
    ... >> not* do this yourself because it is a return to Win32 DLL Hell. ... >> The GAC recognises only the .NET version, ... > No install processes, you copy the files. ... For assemblies in the GAC use publisher policy or recompile...this does not ...
    (microsoft.public.dotnet.framework)
  • Re: Windows Service Install Project
    ... Unfortunately it *hasn't* just placed the assemblies in the GAC. ... aren't actually in the GAC until much later in the install than other files ... Global Assembly Cache Folder in the setup project). ...
    (microsoft.public.dotnet.framework.setup)
  • RE: Install ADO Problem
    ... options to include references. ... one possible workaround is to specify that referenced GAC ... you may need your client to install the related PIA if ... Redistributable Primary Interop Assemblies is available ...
    (microsoft.public.dotnet.languages.vb)