- PR -

Visual Studio Installerのシリアル番号を取得

1
投稿者投稿内容
Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2006-12-15 11:12
VisualStudio.NET 2003でインストーラーを作成しております。
インストーラー作成していく中で、シリアル番号(ライセンス番号?)をチェックするダイアログ(ユーザー情報)を追加し、SerialNumberTemplate項目を設定しております。
インストール時に、そのSerialNumberTemplate項目にライセンス番号を入力し、その入力したライセンス番号をインストールされたアプリケーションのヘルプの項目で表示させたいと考えております。
現状では、入力されたライセンス番号をアプリケーションを取得する方法が分かりません。
分かる方がおられたら、教えてください。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-12-15 11:59
別場所(CodeZineなのである意味こことは競合だw)で申し訳ないんですが、
インストーラの連載記事でこれやってますよ。

サンプルは、Native C++ なので、C#/VB からという場合、P/Invoke になりますけど。
#.NET Framework から WindowsInstaller 周りを直接呼び出す仕組みは用意されていないため

http://codezine.jp/a/article/aid/730.aspx のサンプルソースに、一通りのソースが添付されています。
ただし、プロジェクトは VC++ 2005 Express のものですので、2003 から プロジェクトとして読めませんが。
Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2006-12-15 14:08
とっちゃん様
ご返答有難うございます。

紹介いただいたサイトの「Windows Installer XML(WiX) toolset」は大変便利そうなので、今後使用していこうと考えています。
ただ、今回は「Visual Studio Installer」で途中まで作成しまっているので、「Visual Studio Installer」を使用して、シリアル番号を取得したいと考えていたのですが、やはり難しい若しくは方法がないと言うことでしょうか?
宜しくお願いいたします。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-12-15 14:58
すいません。私の書き方が足りなすぎですね。

[quote]
その入力したライセンス番号をインストールされたアプリケーションのヘルプの項目で表示させたいと考えております。
[/qoute]
とあるように、添付しているサンプルアプリケーションのAboutDlgにてこれを行っています。

インストーラ自体は現在あるものでもなんの問題もありません(作成しているツールこそ異なりますが、インストーラそのものの骨子は同じです)。

もしかしたら、第4回のほうをリンクした方が良かったかな?
第4回はすべて標準で、シリアル検証の部分を書いています。
UIは、WiX のものを利用していますが、実際の動作は、VSIと同じです(インストーラの内部ロジック)。

そのついでとして、アプリケーション側から情報を取り出して表示するという機能もサンプルとして用意しています。

第5回は、その続きで、シリアル検証に独自処理を追加したものになっています。
サンプルが、第4回までは一本化していて大きいので、第5回をリンクしたんですが(^^;
1

スキルアップ/キャリアアップ(JOB@IT)