QNo.
|
タイトル
|
Q. 質問
|
日付
|
A. 回答
|
16
|
Web&Package.slnがVisual Studio 2012で開けない
|
Q.
ProjectSource\Web&Packageフォルダの Web&Package.sln をVisual Studio 2012で開くと、自動コンバートのウィザードが起動せず空の開発環境が開いてしまいます。
|
2012/12/03
|
A.
ProjectSource\Web&PackageフォルダのWeb&Package.sln(初期状態ではVisula Studio 2005用)をVisual Studio 2012で開いても、自動コンバートのウィザードが起動せず空の開発環境が開いてしまいます。Visual Studio 2012では、ソリューションファイル名に"&"などの記号が使えないようです。
これを回避するには、当該ソリューションファイル(.sln)やソリューションユーザオプションファイル(.suo)を WebAndPackage.sln や WebAndPackage.suo といったように記号を使わないファイル名に変更してください。
|
15 |
プロキシサーバーなどによる「登録に失敗しました。」メッセージ |
Q.
「インターネットで認証登録」処理を行うと使用するプロキシサーバーによっては「登録に失敗しました。」と表示されます。また、
Catch ex As Exception
MessageBox.Show("登録に失敗しました。" + "[" + ex.Message + "]", "認証登録",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
のコードのようにエラーの詳細を表示すると、
「HTTP ステータス 417:Expectation failed で要求が失敗しました。」と表示されます。回避方法を教えてください。 |
2012/09/27 |
A.
はい、HTTP1.1に未対応のサーバーまたはプロキシサーバーを経由した場合に認証に失敗する場合がございます。更新履歴のページに回避策と新しいモジュール更新の情報を掲載いたしました。詳細は、次のURLのページの「FixNo.5」をご覧ください。
http://www.newtone.co.jp/support/sunewnr100.html
|
14 |
オリジナルプロジェクトソースを自社用に変更する場合の基本的な変更箇所 |
Q.
認証レスキュー!で提供されているオリジナルプロジェクトソースを自社用に変更する場合の基本となる変更部分と、変更方法を教えてください。 |
2012/09/27 |
A.
はい、次の通りです。VB版の場合を掲載しています、C#版は同様に読み替えてください。
【最小限必要な変更箇所】
1.「社内システム」(InsideSystem)
[1] データベース接続文字列の指定(Form1.vb)
Sub New()プロシージャ内
2.「Webサービス」プログラム(Web&PackageソリューションのWebフォルダ)
[1] データベース接続文字列の指定(Service.vb)
3.「ユーザアプリケーション」(Web&PackageソリューションのPackageプロジェクト(Package.vbproj))
[1] SQL Server接続用のユーザ名とパスワードの設定(OnlineRegister.vb)
button1_Click()イベント内
このユーザー名とパスワードは、SQL Serverインストール時またはインストール後に設定したそれと同じものを設定します。
[2] SQL Server接続用のユーザ名とパスワードの設定(OnlineCancel.vb)
button1_Click()イベント内
このユーザー名とパスワードは、SQL Serverインストール時またはインストール後に設定したそれと同じものを設定します。
[3] 「電話で認証解除」時の電話番号の変更(Class1.vb)
[4] レジストリ登録キーの変更(Class1.vb)
(ユーザーズガイド(1.0.3の場合36ページ)もご参照ください)
1) Function RegistryWrite()プロシージャ内
2) Function RegistryRemove()プロシージャ内
3) Sub RegistryRead()プロシージャ内
【変更をお勧めする箇所】
・「解除キー」の作成方法の変更
1.「社内システム」(InsideSystem)
(ユーザーズガイド(1.0.3の場合の32ページ)もご参照ください)
「電話で認証解除」の解除キーを変更(Form6.vb)
button2_Click()イベント内
2.「ユーザアプリケーション」(Web&PackageソリューションのPackageプロジェクト(Package.vbproj))
「電話で認証解除」の解除キーを変更(OfflineCancel.vb)
button1_Click()イベント内
|
13 |
SQL Server Express Editionでの利用 |
Q.
認証レスキュー!はSQL Serverの Express Edition(無償版)で運用できますか?
またその場合、使用するテーブルでの製品本数やライセンス数のデータ量の目安はわかりますか? |
2012/08/28 |
A. はい、認証レスキュー!のみで使用されるのであれば、このExpress
Editionも選択肢のひとつと思われます。
たとえば、SQL Server 2008 R2 Expressであれば、次の制限事項があります。
データベースサイズ上限はデータベース毎に10GB(トランザクションログは制限対象外)、使用できる CPU
の上限は1基で4コアまで、データベースエンジンのRAM の上限は1GBです。
CPUとRAMの制限は、PCがそれ以上のスペックであってもSQL
Serverではそれ以上は使用されない、というものですが認証レスキュー!の場合は認証データやステータスの送受信や簡単なストアドプロシージャの実行などのみで、SQL
Serverとの通信量はごくわずかで極めて短時間ですので、ハイスペックを要求するような箇所はありません。
また、データベースサイズ上限に関しましては、認証レスキュー!のみで使用されるのであれば次のデータ量以下なら問題なく利用可能と思われます。
認証レスキュー!で使用するデータベースの3つテーブルについて単純計算で次の通り、一例として試算いたしましたので参考にされてください。
[1] 認証キーテーブル(1本出荷ごとに1レコード)
レコード長=62バイト
[2] 認証データテーブル(1ライセンスごとに1レコード)
レコード長=110バイト、1本当たり(多めに)平均20ライセンス(※)として
[3] 認証ログテーブル(1ライセンスについて最小で2レコード)
レコード長=152バイト、1ライセンス当たり平均5レコードとして
1本当たり、(62バイト×1本)+(110バイト×20ライセンス)+(152バイト×20ライセンス×5ログ)=17.5KB
SQL Server 2008 R2 Expressのデータベースサイズ上限10GBであれば、
10GB/17.5KB=57万本、57万本×20ライセンス=1140万ライセンス
となり、この例の場合、製品出荷本数が50万本、ライセンス数が1000万ライセンス以上は格納できる計算となります。
※平均20ライセンスとは、製品のライセンス体系として1ライセンスの他に5ライセンス、50ライセンスなどのマルチライセンスがあると仮定した場合で平均で20ライセンスとした場合を想定しています。
またたとえば、製品のライセンスがすべて1ライセンス(シングルライセンス)の場合は、平均20ライセンスの場合に比べて、使用する「認証データテーブル」の容量が約1/20で済むことになりますので、上記計算に従った場合は
1本当たり、(62バイト×1本)+(110バイト×1ライセンス)+(152バイト×1ライセンス×5ログ)=932バイト
SQL Server 2008 R2 Expressのデータベースサイズ上限10GBであれば、
10GB/932バイト=1072万本、1072万本×1ライセンス=1072万ライセンス
となり、この例の場合、製品出荷本数が1000万本、ライセンス数が1000万ライセンス以上は格納できる計算となります。
なお、SQL Server 2008 R2 Expressでは、次の設定をしないとクライアントPC へのレスポンスが非常に遅くなる場合あります。
SQL Server のManagement Studio
で該当データベース→プロパティ→オプションで、「自動終了」がデフォルトでは「True」になっているので「False」に設定します。
この設定は、Expressではない(有償)Editionでは、デフォルトで「False」になっています。
|
12 |
不正利用の防止(「電話で認証解除」の虚偽報告) |
Q.
「電話で認証解除」の場合、エンドユーザがライセンス解除を本当に行ったか確認するための方法はありますか?
それは、エンドユーザが故意に解除を行わないと、そのままそのPCでアプリケーションを使用できる可能性があるからです。 |
2011/02/23 |
A. はい、残念ながら、現在のソースプロジェクト内には、そのエンドユーザの虚偽報告を防ぐコードは含まれておりません。しかし、次のように比較的簡単に、このような不正利用を防止することができます。

方法としましては、「電話で認証解除【お客様PC】」の画面でエンドユーザがアプリケーション提供側から通知された解除キーを入力後、解除ボタンを押した際の「正常に解除できました。」というメッセージと同時に固有の番号など表示するようにコードを変更します。
エンドユーザは解除ボタンを押さないとその固有番号を見ることはできないようにするわけです。そして、エンドユーザから、その固有の番号を通知してもらいそれを照合し、あっているならば解除作業を行う、といったものです。
上記の固有の番号には、エンドユーザが知りえないものでアプリケーション提供側においては生成できるもの、またPCごとに異なるものがよく、たとえば「認証ID」を使った独自の暗号化など、多くのアレンジが考えられます。
|
11 |
不正利用の防止(同一認証情報をオフライン登録しようとする場合) |
Q.
次のような不正利用は防止できますか?
エンドユーザがアプリケーションを1ライセンスのみ購入し、1台目のPCの認証をオフライン(電話経由)で登録して、さらに2台目のPCについて電話をせずに「電話で認証登録」画面で、1台目の認証時と同じ情報を入力することで
、もう1ライセンス分を不正に利用しようとした場合。 |
2010/11/09 |
A.
はい、その場合でも不正利用はできません。

「電話で認証登録」で必要な情報は、認証ID、プロダクトID、シリアルNo.、およびライセンスキーです。プロダクトID、シリアルNo.は製品パッケージなどに記載(または添付)、ライセンスキーは1台目の認証時にオペレータから入手しているとします。しかし、認証IDはPC毎に別のIDが自動的に表示されエンドユーザが入力できない項目です。この認証IDとライセンスキーは内部的にペアになっています。従って、この例の場合2台目のPCの認証IDと1台目のPCのライセンスキーでペアは作れませんので認証に失敗してしまいます。
|
10 |
Visual Studio 2010の対応 |
Q.
Visual Studio 2010に対応していますか? |
2010/05/19 |
A.
はい、対応しております。2010年5月19日に動作確認済みです。
|
9 |
MDFファイルのアタッチエラー |
Q.
SQL Server Express のMDFファイルにアタッチする方法で、InsideSystemプロジェクトを実行して「社内処理メニュー」より「認証状況」を選択すると「ユーザーインスタンスのプロセスを起動中のエラーにより、SQL
Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。」とエラーが発生します。
また、Web&Package.slnを実行して、「インターネットで認証登録【お客様PC】」処理で必要情報を正しく入力して「登録」ボタンを押すと、「登録に失敗しました。」というエラーメッセージが表示されます。
解決方法を教えてください。 |
2010/05/17
2012/09/11更新 |
A.
はい、次の原因が考えられます。
SQL
Server Expressは、C:\Documents and Settings\<ユーザー名>\Local
Settings\Application Data\Microsoft\Microsoft SQL Server DataフォルダにSQLEXPRESSフォルダを作成して色々な情報を管理しています。
このフォルダに古い設定が残っていると、上記のようなエラーが発生する場合があります。
この場合は、このフォルダを削除して、再度プロジェクトを実行して頂ければ正常にアタッチできます。
【Windows Vista/Windows 7の「C:\Documents and Settings」フォルダのアクセスについて】
Windows VISTA/Windows 7では、エクスプローラを使用して「Documents and
Settings」フォルダにアクセスすることができません。デフォルトでは非表示であり、表示設定をしてもアクセスエラーが表示されます。
Windows Vista/Windows 7をご利用の場合は、次のフォルダにアクセスしてください。
C:\Users(ユーザー)\<ユーザー名>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
また、PCを起動してからSQL Server Expressが動作していた場合はこのフォルダは削除できないことがあります。その場合はPCを再起動し、その直後にこのフォルダを削除してください。
|
8 |
SQL Serverの認証モード |
Q.
SQL Serverの認証モードで、Windows認証とSQL Server認証の用途について教えてください。 |
2010/03/26 |
A.
はい、Windows認証は、一般的にドメイン環境で使用します。
ドメイン環境でない場合のSQL Serverへのアクセスには、通常はSQL Server認証を使用します。
しかし、ドメイン環境外のスタンドアロンサーバー(ワークグループサーバー)上のSQL
Serverへのアクセスにも、Windows認証を使用できますが、クライアントPCとサーバーPCで同一ユーザーが登録されている必要やパスワードも同一にする必要があり運用上、現実的ではありません。
なお、詳細につきましてはSQL Serverの関連ドキュメントなどをご覧ください。
|
7 |
Webサービス配置後エラー |
Q.
「認証レスキュー!」
のサンプルのWebサービスを「Webの発行」や「Webサイトのコピー」でWebサーバー(IIS)に配置後、確認のためブラウザからWebサービスを単独で呼び出すと以下のようなエラーが表示されます。解決方法を教えてください。

|
2010/03/26 |
A.
はい、Webの発行またはWebサイトのコピーでIISに配置しただけでは、そのようなエラーが表示される場合があります。
その原因として、IIS上でWebアプリケーション(この場合Webサービス)が実行されていないことがよくあります。下図のように、IISの該当するWebサイトのプロパティの「ディレクトリ」タブで
、現在の状態を確認できます。

そこで、「アプリケーション設定」の「作成」ボタンを押して、下図のようにWebアプリケーション(この場合Webサービス)を実行します。

そうすると、下図のようにブラウザでWebサービスが正常に表示されことを確認できます。

|
6 |
難読化の必要性 |
Q.
「認証レスキュー!」を使って作成したアクティベーション機能を持ったアプリケーションをエンドユーザ
に配布する場合に、.NETアプリケーション用の「難読化」処理は必要ですか?
|
2010/03/05 |
A.
はい、.NETアプリケーションの「難読化」は非常に重要であると考えております。
それには明確な理由があります。
詳しくは、「認証レスキュー!」の「ユーザーズガイド」(PDF)から抜粋したページをご覧ください。以下のリンクよりどうぞ。
認証レスキュー難読化の必要性(PDF)
|
5 |
プロキシサーバーの設定 |
Q.
「認証レスキュー!」では、エンドユーザがプロキシサーバを経由する場合でもライセンス認証ができますか?
|
2010/03/05 |
A.
はい、できます。
Web サービスはHTTP
経由で利用されます。その際、ユーザ(エンドユーザ)によってはプロキシサーバーを経由してインターネットにアクセスしなければならない場合があります。そういった場合、インターネット用のブラウザがそうであるように、ライセンス認証時もそれと同じようにユーザが使用しているプロキシサーバーの情報を設定すれば問題なくプロキシサーバー経由で貴社のWeb
サーバーのWeb サービスにアクセスすることができます。
「認証レスキュー!」には、プロキシサーバーの情報を設定するコードが含まれています。
|
4 |
ログの表示 |
Q.
「認証レスキュー!」では、ログの表示ができますか?
|
2010/03/05 |
A.
はい、ログの表示ができます。
ライセンス認証に関わる様々な処理結果がログとしてデータベースに1 レコードずつ記録されます。
このログの内容は社内システムの「ログの表示」処理で確認、また必要に応じて削除することができます。
|
3 |
エンドユーザのライセンス認証登録済みのPCがクラッシュした場合の対応 |
Q.
「認証レスキュー!」はエンドユーザのライセンス認証登録済みのPCがクラッシュした場合でも対応できますか?
|
2010/03/05 |
A.
はい、対応できます。
「プラス許可数」という項目で対応できるように設計されています。
|
2 |
サンプルプロジェクトで使用するSQL Serverの接続文字列 |
Q.
「認証レスキュー!」のプロジェクトで使用するSQL
Serverの接続文字列はどのようになっていますか?
|
2010/03/05 |
A.
プロジェクトソース内でのデータベースへの接続文字列は、デフォルトでは SQL Server 2005 Express Edition
をアタッチで利用するコードになっていますが、他のSQL Server(2000/2005/2008)でのWindows 認証、SQL
Server 認証の接続文字列の例もコメントアウトしてありますので、そちらもご利用いただけます。
|
1
|
サンプルデータベースの内容
|
Q.
SQL Server 用のサンプルデータベースには何が含まれますか?
|
2010/03/05
|
A.
「認証レスキュー!」で使用しているテーブルとストアドプロシージャが含まれています。
|