Click here to Skip to main content
15,892,298 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have developed a windows application. I want to create setup for it which will allow the client to install in specific number of pc's (eg :- 2 pc's) and for limited period i.e. 1 yr or even say should be able to make it for evaluation period. I am using advanced installer for creating setup, but I don't know how to do this. If it possible in advanced installer then please let me know, also if any other solution is available, Please help me.

Thanks in Advance !!!
Posted
Comments
[no name] 12-Sep-13 15:19pm    
You can contact the advanced installer support people at this page, http://www.advancedinstaller.com/support.html

Here's a start...
C#
public class ProductKey
    {
        private static DateTime endDate,startDate;
        public ProductKey()
        {

        }
        public ProductKey(DateTime startDate)
        {
            StartDate = startDate;
        }
        public ProductKey(DateTime startDate, DateTime endDate)
        {
            StartDate = startDate;
            EndDate = endDate;
        }
        public ProductKey(DateTime startDate, DateTime endDate,string[] keyParts)
        {
            StartDate = startDate;
            EndDate = endDate;
            KeyParts = keyParts;
        }
        public ProductKey(string[] keyParts)
        {
            KeyParts = keyParts;
        }
        public string[] KeyParts
        {
            get;
            set;
        }
        public DateTime StartDate
        {
            get
            {
                return startDate;
            }
            set
            {
                startDate = value;
            }
        }
        public DateTime EndDate
        {
            get
            {
                return endDate;
            }
            set
            {
                endDate = value;
            }
        }
        public int DaysRemaining
        {
                get
                {
                    if (startDate != null && endDate != null)
                        return endDate.Subtract(startDate).Days;
                    else
                        return 0;
                }
                set
                {
                    endDate = startDate.Add(new TimeSpan(value, 0, 0));
                }
        }
    }
 
Share this answer
 
Comments
shelby67 13-Sep-13 0:31am    
Do you have access to files from other computers in the network group?
shelby67 13-Sep-13 0:35am    
Help each other out?
http://www.codeproject.com/Questions/652834/How-to-find-User-and-Host-from-an-email-address-st
Ank_ush 13-Sep-13 1:18am    
No...
shelby67 13-Sep-13 1:46am    
This is just an idea but... cloud storage to keep a key file and use a url to access it. The file could be something like a windows batch file that compiles a c# code library in a special format at runtime. Options for encoding/encrypting both values and built runtime code, even automate the dll encryption. Theres a few offusicators(I cant spell) or tools to mix up compiled code that are open source. Either way I think you should look into two things if not a combination of the two:
1.) Compiling code at runtime
This to me means that even if someone gains access to your libraries, to make them work your library could need say.. a key from sql database that can only be ran when the app starts up and runs a batch file. To compile a library/app to then run and find a product key. With out the app being ran from the exe you made and being protected, The sql search could only be ran and return a key if your app isnt decompiled, internet is available, the app is to grab the key from sql query is running.
2.) Open source decompilers
shelby67 13-Sep-13 1:48am    
If you try the above, yes it would be a bit challenging to impliment but would be really secure in my opinion.
Without having an online service that tracks installs, its pretty much impossible to limit the number of installs based on product key alone.

You should read through the documentation for Advanced Installer, it allows you to write custom DLL's for use during the licensing process of the install.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900