3

アプリケーションのセットアップインストーラーを作成したい。WiX 3.6をダウンロードして、vs2012にインストールしました。

  1. 簡単なwinformアプリケーションを作成する
  2. WiXセットアッププロジェクトをソリューションに追加します
  3. 参照を右クリックして、winformアプリケーションをセットアップの参照に追加します
  4. ソリューションをビルドし、セットアッププロジェクトのデバッグディレクトリに移動して、SetupProject1.exe.msiを実行します。これは機能せず、エラーなしでインストーラーダイアログを閉じます。

セットアッププロジェクトに戻る

  1. セットアッププロジェクトを右クリックして、プロパティを選択します
  2. [インストーラー]タブ>[出力タイプ]で、executablefile.exeに変更します
  3. それをビルドし、デバッグに移動してSetupProject1.exeを実行します-それでも機能しません

なにが問題ですか?これは私のセットアッププロジェクトproduct.wxsです

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="Natiloos" UpgradeCode="cfc2f4dd-2da5-49e2-9099-96968d75aaa4">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is  already installed." />
    <MediaTemplate />

    <Feature Id="ProductFeature" Title="SetupProject1" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
    </Feature>
</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="SetupProject1" />
        </Directory>
    </Directory>
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
        <!-- TODO: Remove the comments around this Component element and     the ComponentRef below in order to add resources to this installer. -->
        <!-- <Component Id="ProductComponent"> -->

        <!-- </Component> -->
    </ComponentGroup>
</Fragment>

インストーラーを正しくビルドするにはどうすればよいですか?

4

2 に答える 2

4

問題は、インストーラーが何もインストールしていないことです。インストーラーへの参照としてプロジェクトを追加しても、インストーラーにプロジェクトの出力が含まれるわけではありません。セットアッププロジェクトには、次のものがあります。

<Fragment>
  <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
    <!-- TODO: Remove the comments around this Component element and     the ComponentRef below in order to add resources to this installer. -->
    <!-- <Component Id="ProductComponent"> -->

    <!-- </Component> -->
  </ComponentGroup>
</Fragment>

ファイルを追加する必要があります...つまり、<Component></Component>タグのコメントを解除し、ファイルを手動で追加します。ファイルごとに1つの<Component>タグを設定することをお勧めします。

例:

 <Component Id="MyProgram.exe" Guid="PUT-GUID-HERE">
      <File Id="MyProgram.exe" KeyPath="yes" Source="Path_To_Output_Folder\MyProgram.exe" />
 </Component>
于 2012-09-27T18:18:43.807 に答える
0

説明しているタイプのWiXプロジェクトは、拡張子が.msiのMSIファイルを生成します。これらのインストーラーは直接実行されるのではなく、を使用して実行されますmsiexec.exemsiexecWindowsエクスプローラーは、それらをダブルクリックするとデフォルトでこれを実行しますが、次のようなコマンドを使用して明示的に呼び出すことができます

msiexec MyInstaller.msi

MSIファイルは実行可能ファイルとは完全に異なることに注意してください。セットアッププロデュースの出力名を.exe拡張子に変更したり、ファイルの名前を.exe拡張子に変更したりしても機能しません。

.exeベースのインストーラーを作成する場合、必要なのはブートストラップです。WiXにはBurnと呼ばれるものがありますが、私があなたなら、最初に機能するMSIを作成してから、実行可能なブートストラッパーを作成すること心配します。

于 2012-09-27T15:13:47.593 に答える