6

msbuild GenerateBootstrapper タスクを使用して、インストールするためのインターネット接続を必要とせずに、.net アプリケーションをフレームワークと共に配布しようとしています。

ここで同じ手順につながる多くの投稿を見つけました。

.NET Framework 3.5 SP1 ブートストラップで Samesite を有効にする

指示に従った後でも、ブートストラップを生成できません。私が見ることができるより明白な問題は、dotNetFx35.exe からファイルを抽出しても、readme ファイルに示されているものと同じファイルとフォルダーのリストが抽出されないことです (たとえば、TOOLS フォルダーが存在しません)。

私は何を間違っていますか?私は古い指示に従っていますか?

msbuild エラーは次のとおりです。

C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_x64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_ia64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-x86-en-US.exe'.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-amd64-en-US.exe'.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX2.0-KB948609-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX3.0-KB948610-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX2.0-KB948609-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX3.0-KB948610-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.

どんな助けでも本当に感謝します!

4

2 に答える 2

4

問題を解決しました。完全な.netFramework3.5SP1をダウンロードするためにMicrosoftのドキュメントで提供されているリンクが正しくありません。.NET Framework 3.5 SP1フルインストールパッケージのパッケージには、予期されたファイルが含まれています。

于 2010-09-03T14:46:23.240 に答える
3

これを見てください

皆さんこんにちは、

この問題について少し説明させてください。

実際のファイルの公開鍵トークンが、product.xml ファイルにあるものと異なる理由はまだ調査中です。言うまでもなく、私たちのテストにもかかわらず、何かがすり抜けました. 申し訳ありません。

良いニュースは、ブートストラッパーがこの状況で非常にうまく機能することです。ビルド時に、ディスク上のファイルのデジタル署名を、product.xml または package.xml にリストされている PublicKeyToken と比較します。それらが異なる場合は、ディスク上の実際のファイルの値を使用します。これは、「アプリケーションと同じ場所」シナリオでコピーおよび/または投稿されるものであるためです。このようにして、ブートストラッパーは正しく機能します。

ビルドの警告を表示して、何かが予想と異なることを開発者/ビルダーに警告します。これは、「コンポーネント ベンダーの Web サイトからダウンロードする」シナリオで価値があります。コンポーネント ベンダーからダウンロードされるファイルがディスク上のファイルと同じである場合、ダウンロードは証明書テストに失敗し、インストールされないからです。幸いなことに、この場合、Microsoft から実際にダウンロードされるのは dotnetfx35setup.exe ファイルだけであり、そのキーは正しいものです。

ビルドの警告を取り除きたい場合は、Product.XML の PublicKey を次の値で更新できます。

XPSEPSC* ファイルの両方にこれを使用します。

これが物事を明確にするのに役立つことを願っており、引き続きフォローアップを行う予定です。これを報告していただきありがとうございます。これにより、これ以上多くの人がこの問題に遭遇するのを防ぐことができます。

心から、

David Guyer プログラム マネージャー - プロジェクトのセットアップ Visual Studio

于 2011-04-27T04:43:35.333 に答える