rmacias
4/11/2006 11:07:00 PM
Well, based on your answers, there are several issue on why your deployment
did not work. See the answers below.
"ewolfman" wrote:
> See answers inline:
>
> >1. Is your website classic ASP, or ASP.NET (v1.1 or 2.0)?
> ASP.NET 2
Since this is ASP.NET 2.0, why go through the trouble of creating a client
side control for your page? Why not just create it in ASP.NET and host it
through your web page (Server Side). It would have worked much easier? The
only reason, I can think of, is to why you would want to create a COM
Callable Wrapper for your control is to host it on a classic ASP website.
Since your using .NET, this wouldn't be necessary.
> >2. Is the .NET Framework installed on your clients?
> No, and this is why we decided to back off the subject and converted
> our code for this assembly into an old fashioned VB6 OCX (which solved
> the deployment issue, of course).
> Still my question remains, so lets assume that the target client has
> ..NET 2 installed.
This is probably the most important issue. Even though you are creating a
COM Callable Wrapper for your .NET Control, it is still a COM wrapper for
your .NET code. The .NET code will still have to execute on the client side
(since you were making this installed on the client). Therefore the .NET
Framework 2.0 would have to be installed on each PC. The beauty of .NET Web
Controls is that they run server side, so the .NET Framework would only have
to be installed on your web server. Your control would not work because the
Framework is not installed.
> >3. Does the version number in your INF match your Assembly?
> Yes, it does.
>
> >4. Does your CLSID in your INF match your Assembly?
> Yes, it does.
>
> >5. Can you get your deployment scenario to work for a user who is in the
> Administrator's Group on the client PC?
> No. I thought it may be a security/permissions issue too, but no - the
> user is an administrator.
Again, because the clients did not have .NET 2.0, regasm would have failed
as well.
These were a couple of issues I see based on the information you provided.
If you want to deploy .NET assemblies to clients (whether you create a CCW or
not), the Framework still must be installed on the client. If you create the
control in .NET, and have your web app instantiate your control, it will run
server side, which eliminates the need to deploy it to your clients.
Then again, I don't know what your control does, so I may have missed your
point. Glad you got it working though.