- - PR -
.NET Framework の再配布(Setup.exe Bootstrapper)
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-02-26 08:41
では、main.cppに、次のトラップを仕掛けてください。
最初の方、「#include」の直後に、
121行目のCErrorの直前に、
これで、FmtMessageにブレークポイントを張り、止まったら1行実行/ステップオーバーします。そうすると、ErrMessageにエラー番号3のエラーメッセージが入ります。これで対処できると思います。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-02-26 08:44 ] | ||||||||
|
投稿日時: 2003-02-26 09:13
すみません、わかりました。
VS.NETをインストールしたディレクトリの、"Vc7\PlatformSDK\include"というディレクトリに、"error.h"というファイルがあります(Vc7\includeではないのね(^^; )。ここに、エラーが定義されていて、3は「ERROR_PATH_NOT_FOUND」(パスが見つかりません)と、なっています。 とりあえず、setting.iniファイルの[BOOTSTRAP]セクション、「MSI」を、絶対パスで書いてみてください。それから、実行パスのアクセス権を調べてみてください。 | ||||||||
|
投稿日時: 2003-02-26 09:29
申し訳ありません。
C++.NETについてよく理解してませんでした。 MSIの指定を MSI=work\setup.msi から MSI=Debug\work\setup.msi にすると、ここのエラーはでなくなりました。 setup.exeがDebugフォルダの中にあるので、 上記の書き方で良いと思ってました・・・ 本当は、197行目で起こっているようです。 ここのdwResultは「4104」になっていました。 | ||||||||
|
投稿日時: 2003-02-26 14:24
4104ですが、システムのエラーには登録されていませんでした。それで、bootsptaperのディレクトリをgrepすると、SetupCodes.hで、「Framework (PackageType, Version) pair is already installed」と、定義されていました。
.NET Frameworkをアンインストールするか、インストールされていない環境で試してみてください。 しかし、すでにインストールされているからといってエラーになるのはおかしいしと思うので、少しいじりましょう。 175,176行目を表示してください(IDEの右下、行番号が書いてるところをダブルクリックすると、行移動ができます)。if文がありますが、次のように書き換えます。 if ( ERROR_SUCCESS_REBOOT_REQUIRED == dwResult || ERROR_SUCCESS == dwResult || COR_FRAMEWORK_EXIST == dwResult ) これで、フレームワークがインストール済みの場合でもエラーになりません。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-02-26 14:35 ] | ||||||||
|
投稿日時: 2003-02-26 15:10
デバッグ環境にて、.NET Frameworkをアンインストールしデバッグすると、
正常に動作しました。 この setup.exe Bootstrapper は、.NET Framework がインストールされてたら、 .NET Frameworkのインストールを飛ばして、MSIのインストーラーを起動 してくれるのかと思っていたのですが、勘違いだったのでしょうか??? # でも一度、.NET Framework のインストールされていないマシンで実行したとき # .NET Framework インストール後にこけてたのは、なんだったんだろう? # これも勘違い??? | ||||||||
|
投稿日時: 2003-02-26 15:14
すいません。
編集済みのレス見るのが遅れました。 さっそく試してみます。 | ||||||||
|
投稿日時: 2003-02-26 16:26
ありがとうございます。
下記の if文を追加すると、.NET Framework がインストール済みでも 正常に動作することを確認いたしました。
もう一つ、お聞きしたいことがあるのですが、ソースコードダウンロード時に出てくる ダイアログ(ブラウザによって表示されないみたいです)に書かれているものを 見るかぎり、自作アプリとセットで配布すれば大丈夫のようですが、 英語で書かれてあるため、少し自信が持てません。 この少しいじられた setup.exe bootstrapper sample を配布しても大丈夫でしょうか? | ||||||||
|
投稿日時: 2003-02-27 09:43
Operaでは出てきませんでした(笑)。 少し読んでみましたが、『個人向け』とあるので、個人として自作アプリケーションの配布のために使用する分にはかまわないようです。翻訳サービスなどを使うか、法人としてならMSに直接問い合わせるほうがよいでしょう。 |