473,949 Members | 2,619 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Installing to the GAC for a custom installer

Hi all... I have been using InstallShield to build our installers for our
products. However I just found out that our version of InstallShield
doesn't support 64-bit deploys and it costs $700 to upgrade to the version
that does.

I really don't need many of the features of a full installer application. I
just essentially want to copy files to a few folders, make several registry
entries, and create a program files group. Also I would like to create
custom installer dialog pages.

I'm not really a fan of MSI either since it's so kludgey.

So I came up with the idea of making a 100% .NET installer since only people
who have .NET will be installing our products anyhow. The problem is that
there doesn't seem to be any easy way to register our assemblies in the GAC.

We could use gacutil but does this mean that we have to include gacutil in
our setup and if we include a specific version (like for the 1.0 .NET
framework), will it not work for installing on machines with the 1.1 or 2.0
frameworks?

Bill
Jul 21 '05 #1
2 1223
Bill,
We could use gacutil but does this mean that we have to include gacutil in
our setup and if we include a specific version (like for the 1.0 .NET
framework), will it not work for installing on machines with the 1.1 or 2.0
frameworks?


I wouldn't recommend using Gacutil for this, I'm not even sure it's
redistributable . There are APIs that are sort of documented here

http://support.microsoft.com/?kbid=317540

and I have managed wrappers for most of it at

http://www.msjogren.net/dotnet/eng/s...et_gactool.asp

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Jul 21 '05 #2
Thanks... that's a very useful KB article! And I'll have a look at your
app.

My only question, will those API's work for .NET 1.0, 1.1 and 2.0?

Bill

"Mattias Sjögren" <ma************ ********@mvps.o rg> wrote in message
news:%2******** ********@TK2MSF TNGP09.phx.gbl. ..
Bill,
We could use gacutil but does this mean that we have to include gacutil in
our setup and if we include a specific version (like for the 1.0 .NET
framework), will it not work for installing on machines with the 1.1 or
2.0
frameworks?


I wouldn't recommend using Gacutil for this, I'm not even sure it's
redistributable . There are APIs that are sort of documented here

http://support.microsoft.com/?kbid=317540

and I have managed wrappers for most of it at

http://www.msjogren.net/dotnet/eng/s...et_gactool.asp

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Jul 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
503
by: D Busby | last post by:
List I've made a .NET windows service in C++, then I added an installer to the solution. I added the 'Project Output' from my .NET service as a package for the installer to install however it does not install my program as a service on the client machine. Is there something special I need to do? Shouldn't the 'Project Output' show the installer that I have made a service and then install the thing properly?
0
1367
by: Brian at CreekPath | last post by:
I've created an ASP.NET installer using Visual Studio's "Web Setup Project" template. I'm installing to Windows 2000 Server (IIS 5). If I configure the default web site to a port other than 80, then enter that port during installation, I get the following error when I click Next: "The folder path '?' contains an invalid character." Furthermore, if you continue the installation, none of the folders under C:\Inetpub\wwwroot\myapp get...
1
2338
by: Punit Singhal via DotNetMonster.com | last post by:
Hello, I have built a ASP.NET application and created a installer with the help of deployment wizard given in Visual Studio DotNet. But I am unable to install the application when IIS is running on port 8080, it gets installed when IIS is running on default port 80. The problem I faced is that I needed to create a folder in Program Files
0
4858
by: Anonieko Ramos | last post by:
Self Installing Service Enter a topic name to show or a new topic name to create; then press Enter .. Start by writing a service. This involves deriving a class from System.ServiceProcess.ServiceBase and overriding a few methods. It's detailed in the documentation. Once you have your service written, you'll need to add an installer
4
295
by: Bill Henning | last post by:
Hi all... I have been using InstallShield to build our installers for our products. However I just found out that our version of InstallShield doesn't support 64-bit deploys and it costs $700 to upgrade to the version that does. I really don't need many of the features of a full installer application. I just essentially want to copy files to a few folders, make several registry entries, and create a program files group. Also I would...
4
3712
by: Simon Hart | last post by:
Hi, I am creating a MergeModule that is required to read the Windows Registry to determine a location only known at runtime and install files. What I can't figure out is, how to change the DefaultLocation property of the File Installation Properties? My thinking is this needs to be done in a CustomInstaller (Custom Actions). Anyone have any good references?
1
1904
by: Gene | last post by:
I would like to know if the following is even possible with the visual studio.net Setup and Deployment project. 1. During the deployment after creation of application directory the setup needs to prompt user to select another location to send a data file elsewhere on target machine (with ability to create this directory). 2. After that this secondary location selected/created by the user,
0
1205
by: Argo | last post by:
Hi, I am trying to install 2 Windows services in one VS.NET 2005 Deployment Project. I added custom actions for Install, Rollback, and Uninstall. My problem is that if the Install method of the first service assembly throws an exception, the installer attempts to call the Rollback method on BOTH assemblies, so I get an error saying "Could not find file C:\Program Files\...\secondAssembly.InstallState", because it
3
7278
by: =?Utf-8?B?QWxoYW1icmEgRWlkb3MgRGVzYXJyb2xsbw==?= | last post by:
Hi misters, I continue installing; my production PC is Windows 2003 I need copy dll (C runtime DLL msvcr71.dll) to windows\system32 directory if not installed yet. I want create Setup project. Any suggestions for do it ? Do I need add the DLL to project like embedded
0
10170
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
11593
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
11189
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
11360
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10699
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
8264
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6349
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4955
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4546
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.