Is there a way to prevent a Windows application from running under Citrix? - citrix

If I have two versions of a Windows application, one version having additional security features, and I want my customer to use the more secure version if they're going to deploy it to a cloud-based Citrix server, is there a way to have the less secure version refuse to run under Citrix? Can it detect Citrix?

Related

Windev Software on saas

Hello I don't know very much about the saas system, could you please tell me if a HR software made in windev could easily be deployed as a saas ? The problem is that it would cost a lot to deploy it, because each time a client is connected at the same time, it costs 150 euros (under windows licence). Could you please tell me more about the remote app ? And another problem is that when a client would like to print something, it opens a widows window which permits access to the network, and it is not secured. Is the only possibility to make all the windev software as a web software ? Thanks !
If you don't want to buy Windows licences for each computer, you can :
Generate a java application and run it on Linux, with some limitations
Transform you application in a web app and run it on a web server, with some limitation and some more code
Install your application on a Windows remote server and connect to it with Remote Desktop (a Windows application), but you need licences for connecting you to the server
For me, the printing problem is not a security breach.

Simple deployment solution without using Windows Store

We have a system which has Windows 8.1 store app and iPad solutions as frontends and a MVC web as the backend.
We have lot of clients and they prefer hosting the web on premise due to sensitivity of the data. (So no cloud hosting)
Each client runs on different versions of the backend and for those we provide according frontend version as well.
Eg: 3.15.5 backend we have 3.15.5 frontend iPad app. (Backend provides a download link to iPad app, it will automatically update the existing app in the iPad)
(We can't make the frontend apps backward compatible due to high maintenance)
But for our Windows 8.1 app also we have relevant versions but we don't know how to deploy it simply.
We can't ask the customer to run powershell scripts either.
We can't use the Windows store because every time we publish the latest version of the app all our backends need to upgrade as well. Which is not possible due to large no of clients we have.
So my question is how do I provide a simple download solution for Windows 8.1 app that can be operate by a non IT personal?

Distributing Windows Application through internet

We have window application developed in .Net and want perfect deployment technology
which enables easy application installation and upgrading.
The client can be accessed from anywhere in the world where an Internet connection is available.
In future we want the same deployment technology for provide support user's who use Window 7 and
Window 8
Looking at the the initial requirement we have decided to use Click Once technology
but found many issues in the deployment. They are below
You will need to sign a Click Once application with trusted certificate
otherwise it is blocked and instantly removed by Antivirus program.
ClickOnce may not be supported by all browsers , the behavior are different in IE and
other browser
ClickOnce to doesn't install components into the GAC , doesn't installed in the program
files rather it install and maintain user wise in the client machine.
ClickOnce has issue with proxy network and unable to customize the setup screen.
Community has faced many issues with ClickOnce Setup and does not have enough solution or
updates on Click Once technology solution
Do we have perfect deployment solution for window app over internet other than ClickOnce? Which methodology is widely used for window app deployment over internet?
Which deployment technology provide better success rate for easily maintenance and version update for the Window app over internet ?
You could build it as a standard executable and create an installer. A good way to make an installer is InnoSetup. However, the user has to have .Net Framework already installed.
As of Windows Vista, version 2.0 is included, Windows 7 includes 3.5, and Windows 8 includes 4.5. If you change the target .Net Framework of your application you can target these systems. Go to Properties > Target Framework > Choose 2.0, 3.5, or 4.5 (client profile if available).
As for updates, you should implement this in your application on your own or get another third-party updater. I don't know any good ones though.

How can I remotely deploy a rich client in .Net?

Currently we run our web applications on a thin client browser IE 6 and it is slow.
We are a non-profit organization. All our offices are linked via VPN.
Opera 10 browser allows one to convert one's PC into a server.
I am thinking of deploying our application and Opera 10 on every client, meaning that the every client would run a server which in turn would run our application.
Therefore, the clients would connect only to our database. This would speed things up.
However, I would need to deploy updates to our application from time to time.
How can I deploy a web application to the clients PC's remotely?
Our app is .Net.
You might want to take a look at click-once deployment which can handle auto-updating applications (I believe however, they should be .Net based)

Does full trust mean the same as Run As Administrator

Does full trust mean the same as Run As Administrator? I have read things stating that "for this to work, the application must be a full-trust application." Is that the same as you must have administrator privileges to run the application? If not, what's the difference? How can you tell if an app is "full-trust"?
I am told that "Administrator or not, .Net apps won't do certain things if they aren't running from a 'trusted' location." What is a "trusted location"? If you run an app from a "trusted location", can you do things that "require full-trust" without being an administrator?
No. Full-trust is a .NET term used to indicate that it's not running in a reduced-priviledge .NET sandbox. In .NET prior to 3.5 SP1, this included running from a network share (in the default configuration). It also includes running as a ClickOnce application that has not requested additional permissions, or in some other browser-based sandbox.
Full-trust means it can do anything the user it is running as can do, not that is running as an administrator.
No. As of version 2.0, the .Net framework has it's own little filesystem setup for security. Administrator or not, .Net apps won't do certain things if they aren't running from a 'trusted' location.
Just about anything on your local hard drive is trusted, but (and supposedly they fixed this for 3.5sp1) even the local intranet is not trusted, so most .Net desktop apps will fail to even start if they're sitting on a network drive or share.
You can change the configuration on a machine so it will allow apps from that zone, but it has to be done for every machine that's going to run the application, which breaks a common corporate deployment scenario.
From an ASP.Net standpoint, it also means that certain activities require more 'trust' than others. Sending e-mail, for example, can cause exceptions if not set up correctly.
Basically Full Trust means that the C# code has total control over the current (.Net) process and all processes running under the Application Pool account.
It is the same as running a C++ dll
Admin access will depend on the IIS settings (ie. if you run the website under System or an admin account)