- PR -

.NET Framework の再配布(Setup.exe Bootstrapper)

投稿者投稿内容
sugimoto
常連さん
会議室デビュー日: 2002/12/05
投稿数: 45
投稿日時: 2003-02-20 23:57
.NETで作成したアプリケーションと.Net Framework(Dotnetfx.exe)を
インストールするための単一のセットアッププロジェクトをこのページ
http://www.microsoft.com/japan/msdn/net/deployment/redistdeploy.asp
の半分以下あたりを参考に作成しましたが、

please wait... のダイアログの後に

アプリ名 Setup has failed. If the problem persists, please contact Product Support.

と表示され、セットアップが中止されてしまいます。

プロジェクトの構成は下記のようになっています。
setup.exe
settings.ini
work\setup.msi(自作.NETアプリ)
work\dotnetfx.exe(NET Framework 再頒布パッケージ )

settings.ini の中身は下記のようになっています。
[Bootstrap]
Msi=work/setup.msi
LanguageDirectory=ja
ProductName=自作アプリ
DialogText=自作アプリ をインストールしますか?
CaptionText=自作アプリ setup
ErrorCaptionText=インストールエラー
FxInstallerPath=work

何かファイルが壊れてるのかな?とも思い、
Setup.exe Bootstrapper サンプルと、dotnetfx.exeは、
ダウンロードしなおしてみましたが、変化はありませんでした。

setup.msi,dotnetfx.exe も単体なら正常に動作します。

setup.msi,dotnetfx.exe のパスがおかしいのかな?とも思い、
わざとこのファイルを移動してみると、各自、ファイルが無いと
エラーが発生したため、パスは通っていたようです。

環境は、
Windows XP Proと、.NET Framework v1.0.3705
Windows 2000 Serverと、.NET Framework v1.0.3705
で試してみましたが、同じエラーが発生しました。

どなたか、同じ現象に悩まれた方は、おられませんでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-21 09:09
こんにちは。

 Bootstrapをキーに、英語のサンプルを検索してみてください。
sugimoto
常連さん
会議室デビュー日: 2002/12/05
投稿数: 45
投稿日時: 2003-02-21 16:39
返答ありがとうございます。

「Bootstrap」「.NET」などをキーに検索してみましたが、
参考にしたページのUSページくらいしか、有用なページは
見つけることができませんでした。

実はまだ .NET Framework の入っていないマシンで試していなかったため、
.NET Framework の入っていない Windows2000 Server SP3 で試してみました。

すると、.NET Framework のインストールがサイレントモードで実行され、
その後のsetup.msi が呼び出される前に同じエラーで終了してしまいました。

.NET Frameworkのインストールは正常に終了しているようです。
またその後、単体でsetup.msi(自作アプリ) を実行すると、
こちらも正常にインストールされました。

Bootstrapper は、.NET Framework の有無の判断はできており、
.NET Framework のインストール後にエラーを出しているようです。

[ メッセージ編集済み 編集者: sugi 編集日時 2003-02-21 16:40 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-24 09:24
こんにちは。

>>「Bootstrap」「.NET」などをキーに検索してみましたが、
>>参考にしたページのUSページくらいしか、有用なページは
>>見つけることができませんでした。

 その中に、C++で作ったインストーラのソースファイルがそのままありませんでしたか?

 すみません、再インストール時にお気に入りを消してしまったので、具体的なページを提示できません。
→→わかりました。このページの一番下に、「Setup.exe Bootstrapper sample」というリンクがあります。

[ メッセージ編集済み 編集者: Jitta 編集日時 2003-02-24 09:44 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-24 11:20
同じbootstrap.exe sampleなのかな?

私の方は、次のように変更しています。

[MSILoader] ←
MSIFileName=ABC.msi ←
[Bootstrap]
MSI=\\MACHINE\DIRECTORY\ABC.msi
FxInstallerPath=\\MACHINE\DIRECTORY\. ←
LanguageDirectory=jpn ←

その他、
・.NET Framework SP2も、インストールしている
・インストールパッケージの展開ツールのバージョンを、人に確認させている ←これ重要
sugimoto
常連さん
会議室デビュー日: 2002/12/05
投稿数: 45
投稿日時: 2003-02-24 11:55
お世話になります。

同じ Bootstrapper のようです。私も
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
ここからダウンロードしました。

設定ファイルのほうも
[MSILoader]の部分を追加してみたり、
Jitta様と同じようにしてみましたが、駄目でした・・・

# C++のコードもみてみようと思います。
# C++はさわったことないので、分かるか怪しいところですが・・・
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-02-24 14:33
メッセージ(IDS_SETUP_FAILURE)からエラーが発生している箇所を逆にたどってみました。

main.cpp:121, 197, 248, 296

のどこかで発生しているようです。とりあえず、この4つにブレークポイントを張り、エラーの原因(121行目ならGetLastErrorの戻り値、など)を特定してみてください。
sugimoto
常連さん
会議室デビュー日: 2002/12/05
投稿数: 45
投稿日時: 2003-02-25 16:31
C++のデバッグ環境の用意に手間取ってしまい、遅くなりました。

エラーは main.cpp の 121行目で発生しているようです。

GetLastError(dwResult)の戻り値は「3」でした。

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