Hi all,
I have an app that I want to have activation codes for, it has plugin
dll files each of which have an activation code as well. I need to
generate a unique code that is specific to the machine that the software
is installed on, when the user contacts the registration server the key
that they get to activate there software will be unique to there machine
as it will be generated from the code above. Please could you look at
these possibles and advise on which you think is the right way to do
this, or if you know of a better way I would appreciate any links/code
samples you may have.
I could create a GUID the first time I start the app, this would be
stored in the registry, when validating codes I would read this value
from the registry, check it and activate the software if all is OK.
BUT, I hear that the use of the registry is not a great idea any more,
Microsoft recommends XML files, I must store this value outside of the
apps directory in case the user simply copies the entire directory to a
new PC and all would work, maybe I could store it in Windows directory
in a .cfg file or something.
I could use WMI to get the serial number of the mother board, I would
not need to store this value as it would be available through WMI at any
time.
BUT I want to the app to run on Win 98 upwards, I have heard that WMI is
not supported on Win 98, also I can't find any examples of how to
retrieve the mother board serial number.
This app will be developed in VS2005, the Beta2 has a Go Live license
with it and the development time will be 6 - 12 months, Is there
something in VS2005 that would negate the need to do either of the above?
Is there another way?
And why do my posts always seem so long :-)
Thanks Joe 2 4518
Joe,
Your only option here is going to be to use the registry. You should
probably store it in the HKEY_LOCAL_MACH INE hive, under the software key.
This is the only thing that one could guarantee would work on windows 98.
Honestly though, I don't know how much longer 98 is going to be around,
and I personally wouldn't target an app for that OS. Then again, my needs
are different =)
If you could eliminate 98 from the picture, I would recommend using
Isolated Storage, as it would give your application a space that it could
read/write files from/to, without having to worry about access rights and
whatnot.
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m
"Joe_Black" <Jo******@newsg roups.nospam> wrote in message
news:u$******** ******@TK2MSFTN GP10.phx.gbl... Hi all,
I have an app that I want to have activation codes for, it has plugin dll files each of which have an activation code as well. I need to generate a unique code that is specific to the machine that the software is installed on, when the user contacts the registration server the key that they get to activate there software will be unique to there machine as it will be generated from the code above. Please could you look at these possibles and advise on which you think is the right way to do this, or if you know of a better way I would appreciate any links/code samples you may have.
I could create a GUID the first time I start the app, this would be stored in the registry, when validating codes I would read this value from the registry, check it and activate the software if all is OK. BUT, I hear that the use of the registry is not a great idea any more, Microsoft recommends XML files, I must store this value outside of the apps directory in case the user simply copies the entire directory to a new PC and all would work, maybe I could store it in Windows directory in a .cfg file or something.
I could use WMI to get the serial number of the mother board, I would not need to store this value as it would be available through WMI at any time. BUT I want to the app to run on Win 98 upwards, I have heard that WMI is not supported on Win 98, also I can't find any examples of how to retrieve the mother board serial number.
This app will be developed in VS2005, the Beta2 has a Go Live license with it and the development time will be 6 - 12 months, Is there something in VS2005 that would negate the need to do either of the above?
Is there another way?
And why do my posts always seem so long :-)
Thanks Joe
Thanks Nicholas,
Unfortunately the people who are going to be using this app have a lot
of Win 98 laptops, so I'm kind of stuck with supporting it :-(.
Many thanks for your thoughts.
Joe
Nicholas Paldino [.NET/C# MVP] wrote: Joe,
Your only option here is going to be to use the registry. You should probably store it in the HKEY_LOCAL_MACH INE hive, under the software key. This is the only thing that one could guarantee would work on windows 98.
Honestly though, I don't know how much longer 98 is going to be around, and I personally wouldn't target an app for that OS. Then again, my needs are different =)
If you could eliminate 98 from the picture, I would recommend using Isolated Storage, as it would give your application a space that it could read/write files from/to, without having to worry about access rights and whatnot.
Hope this helps.
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: JaNE |
last post by:
Hello, I have made my cms... and is working, but have some, let me say
"bugs"... And I don't know all reasons, please allow me slightly longer
and most probably confusing post (that "confusing" is mainly becaose of
my bad english, and that bad english is also reason why am I learning
php that slow...).
As first, what is problem:
some users after succsesfull registration and login can not see
"memeber_menu" and can not activly participate...
|
by: Howard |
last post by:
I am currently looking at the various packages that are available for
software protection. I have a particular question that I'd welcome
your feedback on.
Background info:
I work for a company that develops software, and typically releases
software SDKs. Development is in C++ using MS Visual C++. We need to
apply software encryption/protection to achieve:
1) Time-limited versions (e.g software expires after X days)
|
by: S.Tobias |
last post by:
I'm examining the existence of temporary objects by looking at
their addresses. The trick is to create a structure that contains
an array as its first member. In an expression the array rvalue
is converted to a pointer to its first member. Since this address
is also the address of the array, and that is the address of the
structure, I conclude that this is also the address of the temporary
storage for the structure (r)value.
I'm...
|
by: SivaSiva |
last post by:
Hi,
I'm getting the following error when I try convert a word document using
asp.net.
Application Event Log :
Detection of product '{90110409-6000-11D3-8CFE-0150048383C9}', feature
'WordUserData', component '{8ADD2C93-C8B7-11D1-9C67-0000F81F1B38}' failed.
The resource 'HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\UserData'
does not exist.
|
by: DKode |
last post by:
Hello,
I have built a couple of Active Directory administration tools that I
plan to sell over my website. I was planning on making a "Full" version
for people who purchase the software, and a "Demo" version which is a
completely seperate assembly that is stripped down so noone can take a
demo version and crack it into a full version.
My main question is this:
What tools does VS2005 have to allow me to apply a "activation" keycode
| |
by: Richard Harter |
last post by:
Apologies for the length - this post is best viewed with fixed font
and a line width >= 72.
Below is the source code for a C header file that provides a suite
of storage management macros. I am asking for comments on it. In
particular: Are there any gotchas that I have overlooked? Are
there any suggestions for improvements? Is there a generally
available superior packages to do the same thing with the same
general licensing? ...
|
by: John Levin |
last post by:
I'm trying to port Edanmo's OLE Storage class
(http://www.mvps.org/emorcillo/en/code/grl/storage.shtml) to x64. After my
modifications, it still works fine under x86. However, I'm getting a
mysterious error when I try to call ReadMultiple on my IPropertyStorage
object under x64: "No mapping for the Unicode character exists in the target
multi-byte code page. (Exception from HRESULT: 0x80070459)".
Here's the calling code:
Dim PROP As...
|
by: Ronald S. Cook |
last post by:
If I wanted to prevent someone from purchasing my Windows software and then
giving to friends, I'm wondering what the top 3 or so options are these days
and pros/cons of each.
I appreciate any responses,
Ron
|
by: Andy B |
last post by:
I am making a web application that would randomly create an activation code
and put it in a database. The web application would then send it in an email
to the user with a link to go to and enter the activation code. How would I
do this? and what sql server data type would I use? I want the activation
code to be no longer than 12 characters, have a mix of numbers and letters
and have no special symbols.
|
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,...
|
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...
| |
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...
|
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,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| | |