Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
How does a big key product like those of MSOffices restrict their buyers/users by either the number of its installation times or the number of its installed machines ?
For one software CD, the product are installed and useable via for example 3 licenses, this is activated via provided keys. Why can't I user the same key on 3 machines that are not interconnected ?
For one software CD, the product is sometimes installable only on one machine (no key reference), it will display an error message if I try to install it on another. (the CD isn't rewritable "ekk")
Because the software from Micrsoft requires "activation". In this procedure the software is sending a footprint of the machine together with the software key it is installed on to Microsoft's licence server. In the database of that licence server Microsoft keeps those footprints and a counter, so they can ensure their software isn't activated more often then paid for.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 1 year ago.
Improve this question
I have a complex legacy software which is a C# WinForms application, recently upgraded to .NET Framework 4.7.2 and added with a WCF REST API for external communication.
This application requires certain files on the disk, certain partitions needs to be available (such as a D: drive) and so forth (due to a lot of hardcoded file management etc). The app also requires a license USB dongle and a big SDK framework installed on the PC.
Now we would like to run several instances of this application in one server and get results out from it via its REST API. Is there any way we can do this? I guess several virtual machines would work, but is there any other way, Docker maybe?
Docker is out. As a commenter stated, Docker is not designed to mimic real hardware. See this comparison for more information.
I suggest a traditional Windows virtual machine and something like Hyper-V USB Passthrough.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have created a Windows Forms application in .NET 4.0. Now there are about 20 client machines where the application has to be reinstalled every time there is a build change.
Is there a way I can push the application to all the machines in the client network in a single go?
ClickOnce is your friend.
In short, ClickOnce allows you to publish an application to a server and users can browse to an associated installation website and install your software.
If your ClickOnce settings are set properly, each time the user launches the application, the application will check for an update on the server, download it if it exists and update then application.
It's worth noting that with each update, the entire application is re-installed. This can save you a ton of headaches but if your application is large, it could be a nightmare for your users if you update the system frequently. Hit the link provided above for all of Microsoft's information regarding this deployment mechanism.
You can have your sysadmin create a Group Policy to do this.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I want to monitor the event of a new Antivirus installation ,
currently what I have in mind is listen to change in the Uninstall registry folder and then compare the new application name with a list of known Antiviruses.
I want to improve it by being more specific , is there other resource I can monitor in order to know when a new Antivirus has installed? for example some registry that new Antivirus have to edit in order to be marked as an active Antivirus etc.
Thank you for your help
Registry is not the best way. The information you want is usually exposed through the WMI.
Since you haven't specify in tags what language you're using, here's the link to the VBScript example. Beware that on 64 bit OSes there're effectively 2 WMIs, 32 bits and 64 bits.
If you want your software to react instantly, WscRegisterForChanges API allows you to be notified when the AV is started or stopped.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
We're getting ready to deploy a commercial application. Our software makes use of several other libraries, which have licenses ranging from the Code Project Open License (CPOL), the LGPL, the Apache License, and the MIT License
We want to comply with all of these licenses, obviously, but we're a small outfit that doesn't have a legal department to help us out with these things. Currently, as all the libraries are dynamically linked, and not embedded into the executable, I think we're mostly in the clear. Our project is closed-source, and is intended to be sold, and possibly resold by those we provide it to.
In the source code that uses these libraries, we've placed the related license at the head of the file.
In our About Box, we've placed the licenses as well (Is this step necessary)
Would we also need to include a LICENSE file upon distribution of our software?
Thanks for your help!
When talking about selling, and possibility reselling, you don't want your programmers writing your licensing.
Hire a lawyer.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am about to setup my first windows application which is built in C# Visual studio 2010 to my customer.
I want to limit usage to only one computer per installation, but I don't know how to do that.
Can anyone guide me on how I might accomplish this?
Typically this is managed by what's called a "product activation" system. When the customer installs your application, they must enter a serial number or key to "activate" it. If they don't do this, the application remains locked. When they activate your product, the system calls back into your server and says "Hey, this key has been used, and this is the machine it was used on. don't let anyone else use this key again."
http://en.wikipedia.org/wiki/Product_activation
You probably don't want to write this yourself, so there are many third party packages you can purchase to make it difficult for your client to install on multiple machines. There's a fine line though between alienating your client by treating them like a criminal, and trying to protect your hard work.
Pirates gonna pirate.
Encrypt the serial number of the hard-drive into your program. It must be saved to a DB of some kind. Name the field something obscure (not related to a HDD serial #). Then check that it matches every time the app is launched. Not super-high tech, not super-secure, but will work in most situatons. If someone copies the app to another PC, display a message not related to copying the app, but you will know what happened. I've been doing it for years in VB and .NET. Works fine.