プロが教えるわが家の防犯対策術!

ソフトウェア開発入門者です。
ライセンスファイルの保存場所はどこがいいのでしょうか。
xpマシンではc:¥windows下にフォルダー作成し保存しているものを見かけました。
windows7でも同じなのでしょうか。
標準的な場所なんてあったら、いくらでもライセンスコピーできるじゃないか
って気がしますがどうなのでしょうか。
よろしくお願いします。

A 回答 (6件)

怪しい元開発者です。


元と書いたのは現状の主流をしらないよ ということ。
(レジストリに保管するプログラムを書いたことない)
そのうえでNo.1さんの補足に

>インストール時に入力したキーをユーザーが気づかないどこかに保管したいのです。
>保管したキーはこのソフトにログインするたびに入力してもらいチェックします。
>こういうファイルはどこにおいておくべきものなのでしょう。

こうあったので、提案してみました
ライセンスコピーを気にしていたようだし。

今は開発者じゃないけど、ライセンスを扱うことはしています。それも高額で少量販売なもの
ライセンス形態は様々で、
・ライセンスファイルを決まった位置に置くだけのもの (コピー可。簡単に不正使用できてしまう)
・MACアドレスを申請してそれによってライセンスファイルを発行してもらうもの。
・毎回サーバにアクセスするもの
等々

そもそもネットの情報自体怪しいものですけどね。自分で取捨選択して考えてくださいね>質問者様
    • good
    • 0
この回答へのお礼

ありがとうございます。
皆さんに色々お教えいただき助かりました。
超超初心者なりに考えてみます。

お礼日時:2011/07/30 11:05

何のためのライセンスファイルかを考えた方が良いでしょう。

ライセンスファイルの在り処を隠すというのは筋の良いやり方ではありません。またANo.1への補足に書かれていた方法も利用者に無駄な負担を掛けるだけで、コピー防止の役には立たないと思います。

例えば利用者ごとに確認してライセンスファイルを提供する場合なら、利用者からインストールしたパソコン固有の情報(MACアドレス、HDD-IDなど)を提出してもらい、それらにHMACなどで認証コードを付けたものをライセンスファイルとして提供すれば、別マシンに持っていっても使えないライセンスファイルになります。
# 基本的にアプリケーションで利用マシン情報をまとめて利用者から提供元にメール等で送付し、提供元からライセンスファイルを発行する形態の運用です
    • good
    • 0
この回答へのお礼

そうですね。
実は以前から使われているものが質問させていただいたような方法をとっているので
疑問をもっていました。
やはり意味がないですよね。
ご回答ありがとうございました!

お礼日時:2011/07/30 11:02

>元開発者です


>自分なら、レジストリに暗号化して置いておく。

この手の「元XXX」です、と言うのが一番怪しい。

ライセンスファイルと言う物を、どのような物を想定しているか記述がないので、エンドユーザーが理解できる、

ラインセンスコードが記載されている。

てことにして話すと、ライセンスコード記載のファイルはどこにおいても同じ事。

注意する事は、そのアプリの管理者(設置者)、それが搭載されているOSの管理者、管理ユーザーの管理の本の領域に格納すればいいだけのこと。

暗号してくらっくされるくらいだったら、暗号化の意味ない。

それが、どのようなロジックで符号化されるかを、守るべきの話で、本末転倒。

て、事はどういうことかというと、ユニークになるIDを作成するサンプルをどのようにしているのかを他人にしられなければ、ライセンスコードが盗まれても、どうってことない。

それが暗号化によるセキュリティー。

実際、多くのアプリなどは、ライセンスコードを設置場所にテキストファイルで格納していることが多い。ノートンなんかもわざわざ、ユーザーホームにテキストで残してくれている。

業務用アプリなども多くは、テキストファイルで残っている物が多い。

それはなぜか? それをコピーしても他のマシンでは使えなかったり、ライセンスサーバーがあり、ライセンス数を確認していたり、マイクロソフトのようにインターネット上のサーバーで管理していたりする。

これらのライセンスコードが他人しれても、販売側はちっとも気にしない。盗まれるのはユーザーの責任であるから。

ちなみにWindowsはレジストリーに格納されているがレガシーになっている。格納場所は特に明示されていないが、SDKをよめば、ここであることがわかる。

つまり、それをテキストファイルでどこかに残していても同じ事なのである。

逆に、レジストリートの機能からすると、それらの情報を格納する事を目的としているので、テキストファイルとしてファイルシステムに残すのではなく、レジストリーに格納するのが

Windows流

と言えるのである。

それだけ。
    • good
    • 0
この回答へのお礼

>ライセンスファイルと言う物を、どのような物を想定しているか記述がないので
>エンドユーザーが理解できる
そうなんです。超素人です。
でも、おっしゃっていること、よくわかりました。
ありがとうございます!

お礼日時:2011/07/30 10:56

元開発者です



自分なら、レジストリに暗号化して置いておく。
コピーを防ぎたいなら、MACアドレスとかと併用チェックするとかしますね。

数がでるなら、認証サーバーを用意する
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはりレジストリですか。
超超初心者なものでレジストリ = 怖いもの
ってイメージがあります。
勉強して取り組みたいと思います。

お礼日時:2011/07/29 12:07

通常はライセンス対象と同一フォルダでしょう。



> xpマシンではc:¥windows
システムフォルダの下に置く場合は、対象を複数のアプリで利用する
ことが多く、インストールしたソフトをアンインストールしても
他でも使える部品(コンポーネント)として残る場合もあります。
完全に別途その部品のみインストールする形態もありますね。

自分の開発したアプリの場合はインストールフォルダです。
デフォルトは C:\Program Files の下です。

どちらも管理者権限が無いと編集できませんので、ローカルユーザー
管理をしっかりしていれば管理者以外変更できないという条件
にできます。

> 標準的な場所なんてあったら、いくらでもライセンスコピーできるじゃないか
#1 さんが書かれていますが、コピーでは動かない仕組みを考える
場合が多くなってきていると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!
よくわかりました。

お礼日時:2011/07/29 12:04

Windows の場合 レジストリ の記述のがよくみますけど。



最近のは (シマンテック、トレンドマイクロ等)は ライセンスサーバーを利用して
PCから取得できる何か(たぶんレジストリキー)とプロダクトキーの組み合わせを保存していたりしますね。

この回答への補足

早速ありがとうございます。
レジストりーですか。

ライセンスファイルって書きましたが
私が考えているのはもっと原始的なものかもしれません。
インストール時に入力したキーをユーザーが気づかないどこかに保管したいのです。
保管したキーはこのソフトにログインするたびに入力してもらいチェックします。
こういうファイルはどこにおいておくべきものなのでしょう。

補足日時:2011/07/29 11:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!