473,729 Members | 2,272 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Proper way to install a ClickOnce application on Terminal Server

Hello,

I would like to know the best way to install an clickonce in .net 3.5 (we
use LINQ 8-D) published application on terminal server 2003

Do I have to install it on EVERY user that will use it ?
If so, all the files will be duplicated for every user ? in wich folder ?
If not, where will reside the application on the server ? how to make a
shortcut for the main "executable " for all the users pointing to that ?

The last question is: my application is a single instance application. If
the user tries to launch it and is already in memory, I handle an event to
maximize the already loaded in memory app, and bring it to the foreground...
This could cause me problems within terminal server, or the check for the
instance will search only from within the actual user's memory/process scope ?

Thanks in advance !

Roger Tranchez
MCTS
..NET 2005 and DB developer
Jun 27 '08 #1
3 5319
Hi Roger,

ClickOnce is a per-user deployment feature, it can not be seen my all the
users in the system(machine-wide). If all the users want to use it, all the
users have to click and install the clickonce application. The clickonce
application executables are maintained in the running user's "Documents and
Settings" folders which are called ClickOnce Cache. For example, one of my
ClickOnce application is downloaded and installed to the path below:
"C:\Documen ts and Settings\[user name]\Local
Settings\Apps\2 .0\E7YB1GQ1.KCQ \ZYCNLLDL.7ZT\w ork..tion_0f883 115a8a87864_000 1
.0000_fb2c402e6 e30d78a\[appname]"

Please refer to the link to understand ClickOnce cache:
"ClickOnce Cache Overview"
http://msdn2.microsoft.com/en-us/library/267k390a.aspx

If you really want to install machine-wide, you should use Windows
Installer. The link below compares the deployment difference between MSI
and ClickOnce:
"Choosing Between ClickOnce and Windows Installer"
http://msdn2.microsoft.com/en-us/library/ms973805.aspx

Normally, the easiest way of implementing single instance application is
using global named mutex. The principle of this approach leverages the fact
that mutex kernel object can have a global name associated with it.
Multiple processes can see the same registered name. So if the first
process has created the name, the second instance(proces s)'s creation will
fail.

.Net has the build-in support for the named mutex, so it is easy to use
this approach in .Net:
"Ensuring that only a single instance of a .NET application is running"
http://www.ai.uga.edu/mc/SingleInstance.html

Hope this helps.

Best regards,
Jeffrey Tan
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

=============== =============== =============== =====
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
=============== =============== =============== =====
This posting is provided "AS IS" with no warranties, and confers no rights.

Jun 27 '08 #2
Hello Jeffrey,

Thanks for your answer, it was very clear.

For the time being, we will continue to deploy the application on our
Terminal Server trough ClickOnce, as it will not take up too much space on
the server.

About the mutex: yes, I know about it... I hope that our current
implementation for the single app instance would not cause us too much
headaches, but if it occurs in the "uncertain" future we'll consider another
options.

Bye,

Roger Tranchez
MCTS
..NET 2005 and DB developer
""Jeffrey Tan[MSFT]"" wrote:
Hi Roger,

ClickOnce is a per-user deployment feature, it can not be seen my all the
users in the system(machine-wide). If all the users want to use it, all the
users have to click and install the clickonce application. The clickonce
application executables are maintained in the running user's "Documents and
Settings" folders which are called ClickOnce Cache. For example, one of my
ClickOnce application is downloaded and installed to the path below:
"C:\Documen ts and Settings\[user name]\Local
Settings\Apps\2 .0\E7YB1GQ1.KCQ \ZYCNLLDL.7ZT\w ork..tion_0f883 115a8a87864_000 1
.0000_fb2c402e6 e30d78a\[appname]"

Please refer to the link to understand ClickOnce cache:
"ClickOnce Cache Overview"
http://msdn2.microsoft.com/en-us/library/267k390a.aspx

If you really want to install machine-wide, you should use Windows
Installer. The link below compares the deployment difference between MSI
and ClickOnce:
"Choosing Between ClickOnce and Windows Installer"
http://msdn2.microsoft.com/en-us/library/ms973805.aspx

Normally, the easiest way of implementing single instance application is
using global named mutex. The principle of this approach leverages the fact
that mutex kernel object can have a global name associated with it.
Multiple processes can see the same registered name. So if the first
process has created the name, the second instance(proces s)'s creation will
fail.

.Net has the build-in support for the named mutex, so it is easy to use
this approach in .Net:
"Ensuring that only a single instance of a .NET application is running"
http://www.ai.uga.edu/mc/SingleInstance.html

Hope this helps.

Best regards,
Jeffrey Tan
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

=============== =============== =============== =====
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
=============== =============== =============== =====
This posting is provided "AS IS" with no warranties, and confers no rights.

Jun 27 '08 #3
Hi Roger,

Thanks for your confirmation.

Ok, if you need further help, please feel free to feedback, thanks.

Best regards,
Jeffrey Tan
Microsoft Online Community Support
=============== =============== ===========
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

This posting is provided "AS IS" with no warranties, and confers no rights.

Jun 27 '08 #4

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

Similar topics

0
1013
by: shamirza | last post by:
Hi All, Why the ClickOnce? earlier we can make setup and place it on server and we are able to download the setup from internet and install it in client mechines throuth web sites (no need to go to each client and install setup , as refereeing to most of MS site says that it avoids going to client place to install updates bla bla..). See for example Winamp every version support people wont come to us to install latest version, we the...
8
4727
by: deciacco | last post by:
I created a deployment project for my .net 2 application in vs 2005. In the properties of the deployment project, under prerequisites i have "Create setup program to install prerequisite components" checked and the ".Net Framework 2.0" prerequisite selected. The install location is set to "Download prerequisite from component's vendor's web site". After I create the setup file I click on the msi file and if the .Net framework is not...
5
5780
by: =?Utf-8?B?R29yZG9uUw==?= | last post by:
I have a windows form application being deployed using ClickOnce on Terminal Services. I am experiencing a problem where by the first user to run up the application is successful and the app downloads and launches successfuly, however if a second user logs on to terminal services and attempts to launch the app then the "Verifying applications. This may take a few moments" message does appear briefly and then disappears but no...
8
4837
ak1dnar
by: ak1dnar | last post by:
Hi, I need a big favor from you guys. I've installed Fedora 8 on a dell server in our office and i want to install sun application server on it. So I downloaded the "sjsas-9_1_01-linux.bin" file from sun's web site. and opened a terminal as a root user. This is what I entered in the terminal. # cd soft # ls jre-6u3-linux-i586.rpm sjsas.bin # ./sjsas.bin ./sjsas.bin: error while loading shared libraries: libstdc++.so.5: cannot open...
3
4258
by: Dean Slindee | last post by:
Using VS2005, I am deploying a WinForm application with ClickOnce. The project contains a ReportViewer2005 control, so there is a prerequisite for the ReportViewer2005.dll. The ReportViewer.dll that is included with Visual Studio 2005 works fine on my (developer) pc, both within Visual Studio 2005, and after deployed, from my pc. However, this is not the case with the user's pcs. When they download the ReportViewer2005.dll from...
2
2788
by: =?Utf-8?B?ZnJlZGR5?= | last post by:
I would like to uninstall app form both local and remote computers without the user knowing what is going on. I have admin right to all the computers so this is not a problem. Can this be done? Thanks Freddy
0
737
by: RobinS | last post by:
"RobinS" <robins@imnottelling.comwrote in message news:vaSdnc6Ge9BfwUranZ2dnUVZ_umlnZ2d@comcast.com... Sorry for the late response. Been working lotsa hours. This actually has been fixed in VS2008. If you change the signing certificate, it will no longer require that your users deinstall and reinstall the application. RobinS.
2
3577
by: =?Utf-8?B?QWxoYW1icmEgRWlkb3MgS2lxdWVuZXQ=?= | last post by:
Hi misters, I have installed my windows application that uses XpdfViewer (a COM Component for view Pdfs) using ClickOnce. But I get this error:
3
5236
by: =?Utf-8?B?S2VuIExlbWlldXg=?= | last post by:
My clickonce app fails when the install button on the publish.htm page is clicked. User is prompted with a "Cannot Start Application" dialog. Details provided from the dialog are: PLATFORM VERSION INFO Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 2.0.50727.3053 System.Deployment.dll : 2.0.50727.3053 (netfxsp.050727-3000) mscorwks.dll : 2.0.50727.3053 (netfxsp.050727-3000)
0
8761
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9426
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. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9281
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 captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9200
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8148
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6722
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 instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6022
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 into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4525
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 the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4795
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.