473,587 Members | 2,466 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

What is ClickOne?

Tee
Hi,

Just curious what is clickone? Is it the same as Installshield?

Been follow the following instructions and it seems to create an
installation exe for me which is good but how come it doesn't include the
..net framework as part of the installation exe too? if i was giving this exe
to a friend or a client i am sure they can't run the application after the
installed. If the clickone is the same as installshield how do i go about
to include the .net framework as part of the installation exe.

http://msdn2.microsoft.com/en-us/lib...ey(VS.80).aspx

Thanks
Jan 31 '07 #1
21 7954
Hello Tee,

We use ClickOnce on one of our applications. The way we did it is to use
the MageUI tool and place manifests on our web server.

To clarify, I just compile my C# application as usual. Then I go into the
BIN\Release folder and gather the exe and any extra .dll's that are needed
and place them into a folder on our release computer. We then run MageUI and
create a couple of manifests (Application Manifest, then Deployment Manifest)
and place the entire folder out in a specified web directory.

The full explanation is rather long and there is online help for these
specific steps.

The skinny of it is that you do not have to use and installer -- just MageUI
to create and sign your manifests. Oh, and you might want to consider
Obfusticating your exe file if you don't want people to be able to decompile
it :~}

Hope this helps a little bit.

Rob

"Tee" wrote:
Hi,

Just curious what is clickone? Is it the same as Installshield?

Been follow the following instructions and it seems to create an
installation exe for me which is good but how come it doesn't include the
..net framework as part of the installation exe too? if i was giving this exe
to a friend or a client i am sure they can't run the application after the
installed. If the clickone is the same as installshield how do i go about
to include the .net framework as part of the installation exe.

http://msdn2.microsoft.com/en-us/lib...ey(VS.80).aspx

Thanks
Jan 31 '07 #2
Tee
Hi Rob,

does MageUI handle the distribution of .NET framework the reason because my
application use quite a bit of .net components. Really deep down what i
really want is tell the installer

1. here is my .net project (solutions *.sln)
2. find all references dll and ocx
3. only include .net component that my app use with the installation exe
4. build a single installation exe
5. done.

Is there any technology out there.

PS. Obfusticating thing is a bit too expensive for me right now
"RobKinney1 " <Ro********@dis cussions.micros oft.comwrote in message
news:2F******** *************** ***********@mic rosoft.com...
Hello Tee,

We use ClickOnce on one of our applications. The way we did it is to use
the MageUI tool and place manifests on our web server.

To clarify, I just compile my C# application as usual. Then I go into the
BIN\Release folder and gather the exe and any extra .dll's that are needed
and place them into a folder on our release computer. We then run MageUI
and
create a couple of manifests (Application Manifest, then Deployment
Manifest)
and place the entire folder out in a specified web directory.

The full explanation is rather long and there is online help for these
specific steps.

The skinny of it is that you do not have to use and installer -- just
MageUI
to create and sign your manifests. Oh, and you might want to consider
Obfusticating your exe file if you don't want people to be able to
decompile
it :~}

Hope this helps a little bit.

Rob

"Tee" wrote:
>Hi,

Just curious what is clickone? Is it the same as Installshield?

Been follow the following instructions and it seems to create an
installation exe for me which is good but how come it doesn't include the
..net framework as part of the installation exe too? if i was giving this
exe
to a friend or a client i am sure they can't run the application after
the
installed. If the clickone is the same as installshield how do i go
about
to include the .net framework as part of the installation exe.

http://msdn2.microsoft.com/en-us/lib...ey(VS.80).aspx

Thanks

Feb 1 '07 #3
On Jan 31, 5:58 pm, "Tee" <khmer_lov...@y ahoo.comwrote:
Hi Rob,

does MageUI handle the distribution of .NET framework the reason because my
application use quite a bit of .net components. Really deep down what i
really want is tell the installer

1. here is my .net project (solutions *.sln)
2. find all references dll and ocx
3. only include .net component that my app use with the installation exe
4. build a single installation exe
5. done.
Keep in mind that the .NET Framework is installed on all Windows
machines worldwide as part of Microsoft's upgrades / hotfixes on the
Web. Very, very few machines will not have the Framework installed.
It's pretty safe to assume that it's on your target machine, although
it may not be safe to assume that version 2.0 is there (the machine
might still be on 1.1.)

In order to use ClickOnce, you need an IIS server. ClickOnce is
basically a Web service that allows you to install your application
automatically when the user clicks on a link on a Web page (for
example), and check for upgrades every time the application runs. You
do, however, require an IIS server in order to handle the requests.
Is there any technology out there.
Yes, there are products that will bundle your .NET app together with
selected Framework components into a single .exe for distribution. The
names escape me at the moment. However, realize that this is probably
overkill: as I said, it will be very, very rare to encounter a Windows
PC that doesn't have at least Framework 1.1 already on it.

If you have Visual Studio, you might find it easier to simply create a
Deployment project in VS. It will package all of your code into
an .msm file that will automatically extract itself and install on a
target machine. I believe that you can also instruct VS to include the
Framework itself as part of the install although, as I said, I
consider that overkill.
PS. Obfusticating thing is a bit too expensive for me right now
I believe that there are free obfuscators out there... anyone else
know of one?

Feb 1 '07 #4
Hi,

Bruce Wood wrote:
On Jan 31, 5:58 pm, "Tee" <khmer_lov...@y ahoo.comwrote:
>Hi Rob,

does MageUI handle the distribution of .NET framework the reason because my
application use quite a bit of .net components. Really deep down what i
really want is tell the installer

1. here is my .net project (solutions *.sln)
2. find all references dll and ocx
3. only include .net component that my app use with the installation exe
4. build a single installation exe
5. done.

Keep in mind that the .NET Framework is installed on all Windows
machines worldwide as part of Microsoft's upgrades / hotfixes on the
Web. Very, very few machines will not have the Framework installed.
It's pretty safe to assume that it's on your target machine, although
it may not be safe to assume that version 2.0 is there (the machine
might still be on 1.1.)
ClickOnce allows to define prerequisites. The easiest way to create a
ClickOnce install file is to use Visual Studio "Publish" menu (under
"Build"). You can configure it using the project properties (Tab
"Publish", then "Prerequisites" .

This way is nice, because the prerequisites are not added to your own
installation package, but if they are missing, they can be downloaded
from the vendor (i.e. Microsoft for the .NET runtime).

ClickOnce has disadvantages over MSI: This is a per-user installation
(not per machine), and also you don't have access to the registry,
etc... IMHO it's not intended as a replacement for MSI, rather a
complement for small application.
In order to use ClickOnce, you need an IIS server. ClickOnce is
basically a Web service that allows you to install your application
automatically when the user clicks on a link on a Web page (for
example), and check for upgrades every time the application runs. You
do, however, require an IIS server in order to handle the requests.
>Is there any technology out there.

Yes, there are products that will bundle your .NET app together with
selected Framework components into a single .exe for distribution. The
names escape me at the moment. However, realize that this is probably
overkill: as I said, it will be very, very rare to encounter a Windows
PC that doesn't have at least Framework 1.1 already on it.
One product I know of is this one:
https://thinstall.com/solutions/net_virtual.php

However I never tried it (as you said, one can accept that the runtime
is available, period) and it's very expensive (around 5000 USD + 39USD
per client).
If you have Visual Studio, you might find it easier to simply create a
Deployment project in VS. It will package all of your code into
an .msm file that will automatically extract itself and install on a
target machine. I believe that you can also instruct VS to include the
Framework itself as part of the install although, as I said, I
consider that overkill.
>PS. Obfusticating thing is a bit too expensive for me right now

I believe that there are free obfuscators out there... anyone else
know of one?
Dotfuscator community edition comes with Visual Studio .NET 2005. That
said, the value of obfuscating code is really questionable IMHO. If
someone wants to steal your code, they will be able to do it
(obfuscating will make the process slower, but it will not prevent it).
For most developers, I believe that openly publishing the source code is
the best way to go. I am fully aware of the problems that this poses for
a commercial company, though. I don't think that there is a satisfying
answer to this problem.

HTH,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Feb 1 '07 #5
"For most developers, I believe that openly publishing the source code is
the best way to go"

I think this is absurd! A comparison is, why bother locking your house when
you go out? If they want to get in they will, why bother locking your car?
They'll just smash a window and so on. Just because they can and undoubtebly
would succeed if they really wanted to, making it harder lowers the chance
of your code being ripped. If you have to spend hours, days, weekes maybe to
crack code how many will truly bother if the end result is they can make
their own hacked version of say msn? On top of this obfuscating the code
itself and having obfuscated variable names and method names etc, really
will make deciphering the code a huge pain. Many may just give up in a very
complex app. To say just make it open source is rediculous.
Feb 1 '07 #6
I should also add:

"You can configure it using the project properties (Tab
"Publish", then "Prerequisites" .

This way is nice, because the prerequisites are not added to your own
installation package, but if they are missing, they can be downloaded
from the vendor (i.e. Microsoft for the .NET runtime)."

This way is nice if you only have one prerequisite, but what about when you
have 2,3,4 etc prerequisites? Not so nice now is it. Your user has to click
one, then the next then the next etc. What woul dbe nice would be if you
could assign prerequisites BUT ClickOnce check user machine for the
prerequisite, if they dont have it, it installs them from vendor site or
some other location until all are in and then runs as usual. Benefit of
multiple install packs so not one big one for users that have pre-req, and
it would be smart. This is my biggest gripe with Click once.
Feb 1 '07 #7
Hi,

PokerMan wrote:
"For most developers, I believe that openly publishing the source code is
the best way to go"

I think this is absurd! A comparison is, why bother locking your house when
you go out?
I stand by my point, which was: .NET is an open house anyway.
Obfuscators are not efficient enough to protect code. If it's OK for
you, then you do have my blessing :-)

If they want to get in they will, why bother locking your car?
They'll just smash a window and so on. Just because they can and undoubtebly
would succeed if they really wanted to, making it harder lowers the chance
of your code being ripped. If you have to spend hours, days, weekes maybe to
crack code how many will truly bother if the end result is they can make
their own hacked version of say msn? On top of this obfuscating the code
itself and having obfuscated variable names and method names etc, really
will make deciphering the code a huge pain.
Not so much. What has been obfuscated can be de-obfuscated. There are
deobfuscatores out there. My opinion after careful consideration is that
obfuscating the code only makes hackers want to crack it even more.
Many may just give up in a very
complex app. To say just make it open source is rediculous.
You're entitled to your opinions as I am to mine. Saying it's ridiculous
is a bit extreme, don't you think?

HTH,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Feb 1 '07 #8
Hi,

PokerMan wrote:
I should also add:

"You can configure it using the project properties (Tab
"Publish", then "Prerequisites" .

This way is nice, because the prerequisites are not added to your own
installation package, but if they are missing, they can be downloaded
from the vendor (i.e. Microsoft for the .NET runtime)."

This way is nice if you only have one prerequisite, but what about when you
have 2,3,4 etc prerequisites? Not so nice now is it. Your user has to click
one, then the next then the next etc. What woul dbe nice would be if you
could assign prerequisites BUT ClickOnce check user machine for the
prerequisite, if they dont have it, it installs them from vendor site or
some other location until all are in and then runs as usual.
I am sorry, I reread this sentence 5 times and still don't understand
what you mean. Maybe you should reformulate.

Benefit of
multiple install packs so not one big one for users that have pre-req, and
it would be smart. This is my biggest gripe with Click once.
Greetings,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Feb 1 '07 #9
What don't you understand? I'll simplify it for ya ;)

as it stands click once does this:

1) offers a link to vendor site of pre-requisite if user needs it
2) user clicks link, downloads requirement
3) user installs programme via click once

So what if you have, 2,3,4 or more prerequisites, then this happens

1) click once offers lots of links to pre-requisites
2) user clicks first and installs
3) now user clicks next one and installs
4) now user clicks yet another one and installs and so on
5) not clicks click once and install the app

Theoretically there is nothing wrong with that. Unfortunately it doesn't
take into account peoples expectation to want a one click install and second
people get impatient. So unless click once is being used for a company on
their employees where a sys admin does the initial install or they are sent
specific instructions and have to download so will do the steps it becomes a
hurdle. As regular users cant be bothered to download. There is more chance
of a member of public downloading a 100MB file walking off and having his
tea than clicking 3 downloads to get one programme. They simply don't
bother.

So my final point was click one woul dbe better if it did this:

1) User clicks install (no other options given)
2) Click once has been told the pre-requisites and now checks them on client
machine
3) If the client doesnt have a pre-req, click once instatiates the download
from vendor site
4) Once all pre-reqs done, it installs the app itself as it would usually

So client only sees one install button.

Make sense now?

"Laurent Bugnion [MVP]" <ga*********@bl uewin.chwrote in message
news:Oj******** ******@TK2MSFTN GP02.phx.gbl...
Hi,

PokerMan wrote:
>I should also add:

"You can configure it using the project properties (Tab
"Publish", then "Prerequisites" .

This way is nice, because the prerequisites are not added to your own
installation package, but if they are missing, they can be downloaded
from the vendor (i.e. Microsoft for the .NET runtime)."

This way is nice if you only have one prerequisite, but what about when
you have 2,3,4 etc prerequisites? Not so nice now is it. Your user has to
click one, then the next then the next etc. What woul dbe nice would be
if you could assign prerequisites BUT ClickOnce check user machine for
the prerequisite, if they dont have it, it installs them from vendor site
or some other location until all are in and then runs as usual.

I am sorry, I reread this sentence 5 times and still don't understand what
you mean. Maybe you should reformulate.

Benefit of
>multiple install packs so not one big one for users that have pre-req,
and it would be smart. This is my biggest gripe with Click once.

Greetings,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch

Feb 2 '07 #10

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

Similar topics

5
3463
by: Al Davis | last post by:
Note: I tried cross-posting this message to several newsgoups, including comp.lang.perl.misc, c.l.p.moderated, comp.infosystems.www.authoring.cgi, comp.lang.javascript and comp.lang.php. Nothing appeared on my news server, so I'm trying again - this time posting a separate copy of the message to each group. I'm thinking this should be...
15
6868
by: lkrubner | last post by:
I want to give users the power to edit files from an easy interface, so I create a form and a PHP script called "fileUpdate". It does a reasonable about of error checking and prints out some errors. It uses fileperms() to get the permissions of the file, and it includes that info in any error message. Today I'm getting the following error...
2
3070
by: thecrow | last post by:
Alright, what the hell is going on here? In the following code, I expect the printed result to be: DEBUG: frank's last name is burns. Instead, what I get is: DEBUG: frank's last name is burns. Here is the code: $frank = "burns";
220
18938
by: Brandon J. Van Every | last post by:
What's better about Ruby than Python? I'm sure there's something. What is it? This is not a troll. I'm language shopping and I want people's answers. I don't know beans about Ruby or have any preconceived ideas about it. I have noticed, however, that every programmer I talk to who's aware of Python is also talking about Ruby. So it...
54
6539
by: Brandon J. Van Every | last post by:
I'm realizing I didn't frame my question well. What's ***TOTALLY COMPELLING*** about Ruby over Python? What makes you jump up in your chair and scream "Wow! Ruby has *that*? That is SO FRICKIN' COOL!!! ***MAN*** that would save me a buttload of work and make my life sooooo much easier!" As opposed to minor differences of this feature...
125
14640
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from software giant such as Microsoft SQL Server, Oracle, and Sybase? Is PostgreSQL reliable enough to be used for high-end commercial application? Thanks
0
1061
by: Vincent | last post by:
I developed an winforms app in whidbey (beta 2) and want to distribute it using the clickOnce intruduced in this version. The app runs fine, however the crystal reports 10 reports are not firing, at least I get some runtime error what points to the dlls used (which are on the client machine). Do I need a Third Party installer for that, or...
2
2039
by: kids_pro | last post by:
Dear all, If it possible to use clickone technology in .net framework 1.1? How to configure it? Regards
0
1624
by: Bill Nguyen | last post by:
I ran into this error using ClickOne to deploy a .NET 2.0 app. CrystalReports for .NET 2.0 is included in the delployment. The error indicates that an incorrect version of CrystalReports.Engine DLL is added to the client GAC. My question is how to obtain a correct redistributable package of R10 so that I can automate the delpoyment. ...
0
7920
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...
0
8215
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. ...
0
8347
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...
0
8220
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...
1
5718
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...
0
5394
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3844
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2358
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
1
1454
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.