3

VS2008 でセットアップ プロジェクトを作成しました。私の WinForms アプリは .NET 2.0 を使用しているため、.NET 2.0 Prerequisity を選択してセットアップ プロジェクトをビルドしました。

クリーンな PC で Setup.msi を実行すると、.NET が見つからないことが正しく検出され、インストールする必要があるかどうか尋ねられます。.NET のインストールが成功した後、インストーラーは単純に終了し、アプリのインストールを続行しません (そうすべきだと思います)。

.NET が既にインストールされている PC で MSI ファイルを実行すると、アプリが正しくインストールされます。

.NET 2.0 とアプリを 1 つのステップで一緒にインストールする方法はありますか?

4

3 に答える 3

7

どのように製品をインストールしましたか?

セットアッププロジェクトは2つのファイルを出力します:

  • Windowsインストーラパッケージ(.msi)、および
  • いわゆるブートストラッパー(setup.exe)

ブートストラッパーは、指定した前提条件が存在するかどうかを確認し、まだインストールされていない場合はダウンロードしてインストールし、アプリケーションのインストールを続行します(.msiを呼び出します)。したがって、.msiファイルではなく、常にsetup.exeを起動してアプリケーションをインストールする必要があります(すべての前提条件がターゲットシステムにあることがわかっている場合を除く)。

Krakkosが言うように、ブートストラッパーは前提条件とアプリケーション(つまり、.msiファイル)の両方をインストールします。ただし、ブートストラッパーがmsiをインストールするのを妨げる構成設定を認識していません。

トラブルシューティングを行うには、インストールのログを作成し、ログファイルで問題を探すことができます。

于 2009-01-07T09:21:13.770 に答える
1

Thanks Divo,

I was running the MSI file.

Are there any limitations when running the Setup.EXE file? If I remeber correctly, I tried once to run it on Windows 2000 and it didn't run. I was able to run only the MSI file. I am going to check on a PC with clean Win2000 and come back.

EDIT: I have tried it on clean Windows 2000 SP4 and here are the results:

  • Setup.exe will not run with a message about missing HeapSetInformation in Kernel32.dll
  • Setup.msi will aso not run (the .msi extension is unknown)

Then I manually installed Windows Installer 3.1:

  • Setup.exe will still not run with the same error message
  • Setup.msi will run successfuly (but will install only .NET without my app...my initial problem)

On Windows XP, the Setup.exe runs without any problems.

It seems that users with Win2000 will have to install my app manually by installing Windows Installer 3.1, .NET 2.0 and then my app. Even when .NET is manually installed, the Setup.exe will still show the same error message under Win2000 SP4.

EDIT: The Win 2000 issue can be fixed by installing the Update Rollup 1 for Windows 2000 SP4 (KB891861).

于 2009-01-07T09:37:41.070 に答える
0

Hanselminutes のこのエピソードでは、Paint.Netが必要な .NET フレームワークをオンデマンドでダウンロードおよびインストールし、アプリケーションのインストールと統合する方法について詳しく説明します。確かに、これはおそらくほとんどのアプリケーションが必要とするよりもはるかに複雑ですが、それでも興味深い議論です。

于 2009-01-07T13:16:33.467 に答える