473,396 Members | 2,052 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Software Update Requires GAC Updates On Client PCs; How?

Beginning to look at the mechanics of deployment at our site for our
new project, our first in .NET. Management insists all apps will run
from the network, not from desktops and we've managed to figure that
out; Application exe files will each reside in their own network
folders under N:\NETAPPS, and the strongly named assemblies which are
referenced in the GAC are *ALL* located in a single folder,
N:\ASSEMBLIES.

When there are updates or emergency fixes to be done under this
implementation, the new program file will be copied to it's folder,
the new assembly/ies will be copied to the assemblies folder, then the
users will re-login-- their GACs will be updated to point to the
newest assemblies that are on the network, in N:\ASSEMBLIES.

This is where I've hit a snag. I thought I understood that GACUTIL has
to run with ADMINISTRATOR rights. I also thought that while the user's
network login script (.bat OR vbscript) was running, it had elevated
rights... I am apparently wrong on the second assumption.
SO, LET ME ASK AND OBSERVE...
* You *DO* have to be administrator to run GACUTIL....right????
* I do not want to make the user a local administrator
* I would rather NOT give the user full rights to \windows\assembly
(considering as a fallback if it works though)
* I cannot override the bosses re 'run apps from the net'
* We will have lots of shared assemblies, so doing a standard install
would be inefficient, especially for updates/patches (I think)
-besides, that would not be able to update GAC either unless
run as admin, right?

Am I flat out going about this the wrong way??? I think the approach
is sound; when we need to update we would just copy the newest code up
the the network locations-- and *as long as* the users can update
their GACs when logging in, I don't see a problem...
========
'Code snippet from a login vbscript, that I hoped I could use to
update the GAC for users during login... but does NOT succeed (it
would it the user had admin rights of course)
Gacline = "AssemblyName" 'for example

UU = "%WINDIR%\Microsoft.NET\Framework\v1.0.3705\gacuti l /U " +
GacLine
II = "%WINDIR%\Microsoft.NET\Framework\v1.0.3705\gacuti l /I
N:\ASSEMBLIES\" + GacLine + ".DLL"

Shell.run UU 'out with the old
Shell.run II 'and in with the new

Jul 19 '05 #1
1 3457
I'm wondering if you could use a publisher policy file in the GAC to avoid
using the GAC for the assemblies, redirecting to some folder on the client
system.

Note that the only reason you have gacutil.exe on the client system is that
it appeared with SP2 to the 1.0 framework. The 1.1 framework on my XP Pro
box does not have gacutil installed in the 1.1.4322 folder.

--
Phil Wilson [MVP Windows Installer]

"mstjean" <ms*****@firstam.com> wrote in message
news:1t********************************@4ax.com...
Beginning to look at the mechanics of deployment at our site for our
new project, our first in .NET. Management insists all apps will run
from the network, not from desktops and we've managed to figure that
out; Application exe files will each reside in their own network
folders under N:\NETAPPS, and the strongly named assemblies which are
referenced in the GAC are *ALL* located in a single folder,
N:\ASSEMBLIES.

When there are updates or emergency fixes to be done under this
implementation, the new program file will be copied to it's folder,
the new assembly/ies will be copied to the assemblies folder, then the
users will re-login-- their GACs will be updated to point to the
newest assemblies that are on the network, in N:\ASSEMBLIES.

This is where I've hit a snag. I thought I understood that GACUTIL has
to run with ADMINISTRATOR rights. I also thought that while the user's
network login script (.bat OR vbscript) was running, it had elevated
rights... I am apparently wrong on the second assumption.
SO, LET ME ASK AND OBSERVE...
* You *DO* have to be administrator to run GACUTIL....right????
* I do not want to make the user a local administrator
* I would rather NOT give the user full rights to \windows\assembly
(considering as a fallback if it works though)
* I cannot override the bosses re 'run apps from the net'
* We will have lots of shared assemblies, so doing a standard install
would be inefficient, especially for updates/patches (I think)
-besides, that would not be able to update GAC either unless
run as admin, right?

Am I flat out going about this the wrong way??? I think the approach
is sound; when we need to update we would just copy the newest code up
the the network locations-- and *as long as* the users can update
their GACs when logging in, I don't see a problem...
========
'Code snippet from a login vbscript, that I hoped I could use to
update the GAC for users during login... but does NOT succeed (it
would it the user had admin rights of course)
Gacline = "AssemblyName" 'for example

UU = "%WINDIR%\Microsoft.NET\Framework\v1.0.3705\gacuti l /U " +
GacLine
II = "%WINDIR%\Microsoft.NET\Framework\v1.0.3705\gacuti l /I
N:\ASSEMBLIES\" + GacLine + ".DLL"

Shell.run UU 'out with the old
Shell.run II 'and in with the new

Jul 19 '05 #2

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

Similar topics

2
by: Jaime Wyant | last post by:
*long post alert!* Can anyone give me some pointers on writing "self-updating" python programs? I have an application that is almost ready for beta testing. I want to be able to fix any bugs...
2
by: Edward | last post by:
SQL Server 2000 Enterprise Edition Access 2000 Front End One of our clients has recently been experiencing problems with an app that has run satisfactorily (though slowly) for some time. To...
4
by: marcus | last post by:
Hi <xml>Gurus</xml> :-) I've a scenario where the system configuration is maintained in the server as xml dom tree. clients can change the system config either entirely or in parts. when the...
2
by: joo | last post by:
Hi! I need to implement something similar to "Automatic Update" feature which we see in windows 2000. We need this support for our software, basically to provide the software update. How can I...
1
by: mstjean | last post by:
Beginning to look at the mechanics of deployment at our site for our new project, our first in .NET. Management insists all apps will run from the network, not from desktops and we've managed to...
4
by: LW | last post by:
Who among this group believes that Microsoft (or any other creator of intellectual property) does NOT have both a RIGHT and a DUTY to protect the product of their minds?...
60
by: FAQ server | last post by:
----------------------------------------------------------------------- FAQ Topic - How do I prompt a "Save As" dialog for an accepted mime type?...
0
NeoPa
by: NeoPa | last post by:
Introduction : I have come across a problem, on a number of occasions, where PCs under my control fail to load new updates successfully. This is true whether they are attempting to apply via the...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
0
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...
0
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...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
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...

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.