Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / Setup / April 2004

Tip: Looking for answers? Try searching our database.

Windows Service Install Project

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Euan Grant - 28 Apr 2004 05:46 GMT
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
Phil Wilson - 28 Apr 2004 20:19 GMT
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.
Signature

Phil Wilson [MVP Windows Installer]
----

> 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.
>
[quoted text clipped - 3 lines]
>
> 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.
Euan Grant - 29 Apr 2004 01:46 GMT
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. Assemblie
    aren't actually in the GAC until much later in the install than other file
    are on disk. If you look at the last paragraph of the documentation for th
    MsiAssembly table it describes the problem
    --
    Phil Wilson [MVP Windows Installer
    ---
    "Euan Grant" <anonymous@discussions.microsoft.com> wrote in messag
    news:A241A313-F477-4F5E-AAD2-608B86B9E477@microsoft.com..
    > I am trying to setup a single setup project in VS.NET 2003 to deploy tw
    windows services, an application, and the common libraries required by both
    >> I want to install the services in two sub-directories under the use
    directory, and the main application in the user directory. I want to commo
    libraries to be installed into the global assembly cache (done via th
    Global Assembly Cache Folder in the setup project)
    >> I am calling the ProjectInstaller classes via custom actions in the setu
    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 ha
    just placed the assemblies with the required types in the GAC? Do these no
    becom available until the install has committed? Any help is greatl
    appreciated
Phil Wilson - 29 Apr 2004 16:45 GMT
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.
Signature

Phil Wilson
[MVP Windows Installer]
Shameless plug:
Definitive Guide to Windows Installer-
http://apress.com/book/bookDisplay.html?bID=280

> 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: -----
>
[quoted text clipped - 22 lines]
>      becom available until the install has committed? Any help is greatly
>      appreciated.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.