472,958 Members | 2,356 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

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

ClickOnce again

Hi,

I have a .NET / COM DLL. On the client the COM object is created by a
application using VBScript (Windows Scripting).

I try to deploy the .NET / COM DLL using ClickOnce deployment. I know that
it is only possible to deploy a Windows Forms - no DLL. Well, my idea is to
deploy a "dummy" Windows Forms app, that references the .NET / COM DLL.
The next problem is how to register the .NET / COM DLL on the client. My
next idea was to make the .NET / COM DLL a "reg free COM" object. Could this
work? Can the VBScript create the .NET / COM DLL using CreateObject(..)
without the required informations from the registry?
Could the "dummy" Windows Forms app register the .NET / COM DLL or would I
get some security problems?
Christian
Jun 27 '08 #1
4 1780
I know that it is only possible to deploy a Windows Forms - no DLL.

ClickOnce can deploy pretty-much anything (as a flat file) as long as it
stays inside the subtree - i.e. you can't use ClickOnce to deploy to
system32...
My next idea was to make the .NET / COM DLL a "reg free COM" object.
..NET *can* be made to use registry free COM (bundling the dll as a
file), but the configuration is, from all accounts, very involved - and
there arent many tools to help. Personally, I'd need a *very* good
reason before I embarked on that road.
Can the VBScript create the .NET / COM DLL using CreateObject(..)
without the required informations from the registry?
I doubt that VBScript will like registry-free COM.
Could the "dummy" Windows Forms app register the .NET / COM DLL or would I
get some security problems?
Well, it could (asusming full trust) - but unless you are re-running the
application you won't get auto-update etc.

But: from the above, it sounds like you are trying to do something that
is beyond ClickOnce; my first thought would be - so don't use ClickOnce.
There are other ways of managing deployment... an MSI and GPO for
example (or whatever other domain deployment tool you fancy...).

Marc
Jun 27 '08 #2
"Christian Havel" <Ch************@discussions.microsoft.comwrote in
message news:4D**********************************@microsof t.com...
Hi,

I have a .NET / COM DLL. On the client the COM object is created by a
application using VBScript (Windows Scripting).

I try to deploy the .NET / COM DLL using ClickOnce deployment. I know that
it is only possible to deploy a Windows Forms - no DLL. Well, my idea is
to
deploy a "dummy" Windows Forms app, that references the .NET / COM DLL.
The next problem is how to register the .NET / COM DLL on the client. My
next idea was to make the .NET / COM DLL a "reg free COM" object. Could
this
work?
No, this doesn't work for scripting clients.

Can the VBScript create the .NET / COM DLL using CreateObject(..)
without the required informations from the registry?
No, the component must be registered, the Scripting engine is not able to
find a COM component without it being registered.
Could the "dummy" Windows Forms app register the .NET / COM DLL or would I
get some security problems?
It doesn't matter what you are using to register a .NET component for COM
interop, important is that somehow you register the component. This
registration process always requires the caller to run with administrative
privileges.

Willy.
Jun 27 '08 #3
Thank you Marc for the informations

"Marc Gravell" wrote:
I know that it is only possible to deploy a Windows Forms - no DLL.

ClickOnce can deploy pretty-much anything (as a flat file) as long as it
stays inside the subtree - i.e. you can't use ClickOnce to deploy to
system32...
My next idea was to make the .NET / COM DLL a "reg free COM" object.

..NET *can* be made to use registry free COM (bundling the dll as a
file), but the configuration is, from all accounts, very involved - and
there arent many tools to help. Personally, I'd need a *very* good
reason before I embarked on that road.
Can the VBScript create the .NET / COM DLL using CreateObject(..)
without the required informations from the registry?

I doubt that VBScript will like registry-free COM.
Could the "dummy" Windows Forms app register the .NET / COM DLL or would I
get some security problems?

Well, it could (asusming full trust) - but unless you are re-running the
application you won't get auto-update etc.

But: from the above, it sounds like you are trying to do something that
is beyond ClickOnce; my first thought would be - so don't use ClickOnce.
There are other ways of managing deployment... an MSI and GPO for
example (or whatever other domain deployment tool you fancy...).

Marc
Jun 27 '08 #4
"Marc Gravell" <ma**********@gmail.comwrote in message
news:e7**************@TK2MSFTNGP03.phx.gbl...
>I know that it is only possible to deploy a Windows Forms - no DLL.

ClickOnce can deploy pretty-much anything (as a flat file) as long as it
stays inside the subtree - i.e. you can't use ClickOnce to deploy to
system32...
My next idea was to make the .NET / COM DLL a "reg free COM" object.

.NET *can* be made to use registry free COM (bundling the dll as a file),
but the configuration is, from all accounts, very involved - and there
arent many tools to help. Personally, I'd need a *very* good reason before
I embarked on that road.
The latest compilers (C# and VB.NET (V2 SP1 and V3.5) do automatically embed
a side_by_side manifest into a .NET assembly required by "reg-free COM".
Can the VBScript create the .NET / COM DLL using CreateObject(..)
without the required informations from the registry?

I doubt that VBScript will like registry-free COM.
For "Reg-free COM" to work, you need a server and a client manifest, and you
need the client and the server to be loaded from the same path. In case of
VBScript (or whatever other script), that would mean that:
- your assembly be installed in System32.
- a client manifest (cscript.exe.manifest) be installed in System32
- the client manifest, must hold the assembly dependencies of a *ALL*
possible components you will ever load in CScript.exe.
So while theoretically possible, it's absolutely unadvisable to install user
application components in system32, also, it would defeat the purpose of
"Reg-free COM", as it would require an administrator to install the assembly
and the client manifest in system32.
Willy.
Jun 27 '08 #5

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

Similar topics

3
by: Chris Rennert | last post by:
Hey all, we have a project that we would like to use ClickOnce deployment on, and although it all seems straightforward we are having a few issues concerning SQL Server Express and clickonce. We...
0
by: PROCOS | last post by:
I already posted this in "Framework.Setup" but I think this was the wrong newsgroup. So here we go again: ------------------------- We have a large software suite (> 200 installation files +...
3
by: Ronald S. Cook | last post by:
We have a VS2005 Team setup and are developing a Windows app (smart client). We are in the cattle feeding business and have 10 distinct feedyards across the U.S. When we wish to deploy an update...
1
by: dongarbage | last post by:
ClickOnce almost does what I want. However, there are a couple of additional things I want to do with my application which I believe are a challenge with a ClickOnce application: 1. The...
6
by: Irfan | last post by:
hi, After installing the application in the client machine using ClickOnce, i would like that the client be able to change the database path in the Application.Config file. However, clickonce...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
2
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

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.