When you say share the component across the machine, do you mean allow
different users that log on to the computer to access the DLL?
If so, then YES.
Whichever user runs our application needs to be able to invoke the DLL
functions that those apps need.
The assembly is strongly named but as of yet, does not have any code
signing.
We plan on signing up with VeriSign to get a proper signature.
Are there any issues with not having code signing now but adding it later
and updating the assembly if it's loaded in the GAC?
If we want partially trusted code to access the assembly you're suggesting
that we set the APTCA attribute.
What constitutes trusted code? partially trusted code?
Per the docs:
"Strong-named assemblies must be explicitly enabled to be used by
partially trusted code.
Developers must now declare which strong-named assemblies are designed
for use by partially trusted code.
Without this explicit declaration, the caller must have full trust to
use the code. This change ensures that developers
will never unknowingly expose functionality that is not properly
secured for use by partially trusted callers.
Note that this change applies only to assemblies that have been
assigned a strong name. "
We have VB6 applications that will be calling thru the interop layer to get
to the VB.NET DLL.
Are these apps considered trusted? Partially? How can they be made
[partially] trusted?
Does it matter which user runs the VB6 apps that then call the .,NET
assembly?
If code isn't trusted, what will result in the call to the DLL? Will I
simply get a "Can't create object" error? Or, is it more obscure in order
to hide the fact that the calling app isn't trusted?
There's a lot of room here for open-ended discussions.
I'm trying to frame specific questions to help focus my thoughts.
I appreciate any input you have. I want our entry into the .NET world to
be a successful one.
thanks,
- Paul -
[quoted text, click to view] "Marcelo Birnbach [MS]" <mbirnbac@online.microsoft.com> wrote in message
news:eepTxDbbDHA.1272@TK2MSFTNGP12.phx.gbl...
> Hi Paul,
>
> You have to be sure that you want to share your component across the
machine
> if you are going to add it to the GAC. Once an assembly is in the GAC,
it's
> accessible by any other managed application, even coming from untrusted
> zones.
>
> The assembly you are adding to the GAC has to be strongly named signed and
> it will run with full-trust, so you have to be sure you are not doing
> something like asserting a permission without been sure you need to do
that.
>
> Since the assembly is strongly named, there are no issues with installing
> and uninstalling it from the gac. You can even have multiple versions of
the
> same assembly at the same time stored in the GAC.
>
> So, the bottom line is: if this is a shared component, the GAC is the
right
> place for it but you have to be careful.
>
> Note: The component will be available to partially trusted code only if
you
> put set the APTCA attribute.
>
> Thanks,
> Marcelo
>
> "Paul" <paul@dmaxx.com> wrote in message
> news:%23nE1tFabDHA.2580@TK2MSFTNGP12.phx.gbl...
> > Does anyone have recommendations on whether or not to use the Global
> > Assembly Cache?
> > Currently; we're installing a single DLL that can be used by one or more
> of
> > our applications (VB6 via interop and VB.NET).
> > Not sure what the GAC buys us.
> > Seems there may be issues trying to uninstall/install when a new version
> of
> > the DLL comes out.
> >
> > regards,
> >
> > - Paul -
> >
> >
> >
>
>