Vista(およびそれ以上)マシンの.NET 3.5インストールを効率化するために必要なWiXの変更

StackOverflow https://stackoverflow.com/questions/624614

質問

思い切って、ユーザーが.NET 3.5をインストールしてからメディアセンタープラグインを使用できるようにすることを決定しました。

インストールエクスペリエンスが可能な限りスムーズになり、インストーラーが小さいままであることを確認します。

WiXファイルは次のシナリオをサポートしますか?コード例は大歓迎です。

  • ユーザーには.Net framework 3.0がインストールされており、対話式インストールが行われています。

望ましい動作:ユーザーは、新しいバージョンのフレームワークが必要であることを通知するウィンドウでプロンプトを表示します。承認すると、dotNetFx35setup.exe(2.7 MB)がダウンロードされ、実行されます。最後に、インストールが進行します。

  • ユーザーには、.Net framework 3.0がインストールされており、非対話型インストールが行われています。

背景:メディアセンター内からの自動更新を容易にするために、「msiexec.exe / qb / i mediabrowser.msi」を実行できます。ユーザーが既存のバージョンのアップグレードを選択した場合。

望ましい動作:ユーザーは、フレームワークの新しいバージョンが必要であることを通知するウィンドウでプロンプトが表示されます。同意すると、dotNetFx35setup.exe(2.7 MB)がダウンロードされ、実行されます。最後に、インストールがサイレントに進みます。

これらのラインに沿って何かを実装する他のオープンソースプロジェクトはありますか?

関連する質問。NET 3.5は、メディアセンタープラグインの合理的な前提条件ですか?

役に立ちましたか?

解決 4

主なWiX開発者 Rob Mensching より:これはBurnの重要なシナリオです( WiXツールセットブートストラップを開発しました。)

いいえ、WiX pureでプロセスを停止する方法は組み込まれていません。ただし、自分のブートストラップを作成することもできます。

他のヒント

.NETのインストールは、msiが起動される前に、setup.exeブートストラップの責任に該当すると考えています。 WIXには(まだ)ブートストラッパーを生成する独自の方法がありません(または、もしそうなら、wix.chmに文書化されていません)。代わりに、GenerateBootStrapper msbuildタスクを使用してsetup.exeを生成できます。トピック" How To:Bootstrapperを使用して.NET Frameworkをインストールする" wixドキュメント。ダウンロードして.NET 3.5 SP1をインストールするには、msbuildファイルで次のようにします。

<Project ToolsVersion="3.5"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
           <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
           <ProductName>Microsoft DotNet Framework 3.5 SP1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="SetupExe">
        <GenerateBootstrapper
            ApplicationFile="myproduct.msi"
            ApplicationName="myproduct"
            BootstrapperItems="@(BootstrapperFile)"
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"
            OutputPath="path/to/put/setup/"
            Culture="en"/>
    </Target>

</Project>

上記をsetup.msbuildファイルに保存する場合、呼び出すことでセットアップをビルドできます

  

C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe   setup.msbuild

.NETをダウンロードするのではなく、インストールCDからインストールすることもできます。 ComponentsLocation =&quot; Relative&quotを追加するだけです。 ; をGenerateBootstrapperの属性に追加します。

dotNetInstaller はこれをすべてサポートしています

これを行うには、ブートストラップを使用する必要があります。 Microsoft Installerでは、既に実行されている別のインストーラーを開始することはできません。 Visual Studioに含まれているmsbuildファイルから使用できるブートストラップジェネレーター、または多くのオープンソースオプションを見ることができます。

dotNetInstaller は一般的なオプションです。そして、「書き込み」は、このタスクのためにWiXで予定されているツールの名前です。しかし、今のところまだコンセプトウェアです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top