Proper way to install a ClickOnce application on Terminal Server

Proper way to install a ClickOnce application on Terminal Server

am 15.04.2008 17:08:00 von run1789

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

RE: Proper way to install a ClickOnce application on Terminal Server

am 16.04.2008 09:27:03 von jetan

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:\Documents and Settings\[user name]\Local
Settings\Apps\2.0\E7YB1GQ1.KCQ\ZYCNLLDL.7ZT\work..tion_0f883 115a8a87864_0001
0000_fb2c402e6e30d78a\[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(process)'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:
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/de fault.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/subscriptions/support/default.aspx .
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

RE: Proper way to install a ClickOnce application on Terminal Ser

am 16.04.2008 09:53:00 von run1789

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:\Documents and Settings\[user name]\Local
> Settings\Apps\2.0\E7YB1GQ1.KCQ\ZYCNLLDL.7ZT\work..tion_0f883 115a8a87864_0001
> .0000_fb2c402e6e30d78a\[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(process)'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:
> msdnmg@microsoft.com.
>
> ==================================================
> Get notification to my posts through email? Please refer to
> http://msdn.microsoft.com/subscriptions/managednewsgroups/de fault.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/subscriptions/support/default.aspx .
> ==================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
>
>

RE: Proper way to install a ClickOnce application on Terminal Ser

am 17.04.2008 10:19:13 von jetan

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:
msdnmg@microsoft.com.

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