7

コマンド プロンプトで コマンド.vdprojを使用して、ファイルから MSI ファイルを生成したいと考えています。devenvこのコマンドは正常に実行されていますが、MSI ファイルは生成されません。なにが問題ですか?

環境変数に何を設定する必要がありますか、または.vdprojファイルから MSI を生成する他の方法はありますか?

4

4 に答える 4

5

これは通常、(私の経験では!) 正しいビルド構成をターゲットにしていないことが原因です。Visual Studio 内では、ソリューション レベルで、Buildメニューに移動して を選択できますConfiguration Manager。該当するすべての構成 (Active Solution Configurationドロップダウンで選択) について、インストーラー プロジェクトのBuild列にチェックマークが付いていることを確認します。

次に、devenv を呼び出すときに、次のように適切なビルド構成 (つまりBuild、セットアップ プロジェクトにチェックを入れたもの) を渡すようにする必要があります。

C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt"

(この例でReleaseは、私がターゲットにしているビルド構成です)

このコマンドは、Visual Studio の出力をvs_errors.txt、ソリューションと同じフォルダーで呼び出されるテキスト ファイルにも記録するため、これを確認して、セットアップ プロジェクトのビルドに失敗した他の理由があるかどうかを判断できます。

于 2011-04-19T07:52:23.423 に答える
3

上記のスクリプトはうまくいきました。試してみて、うまくいくかどうか教えてください。ほぼすべての構成を使用できます。私は使用しRelease|x86ました。その行を構成に置き換えるだけで機能するはずです。.sln使用する構成がファイルまたはファイルに存在することを確認してください.csproj。そうしないと、無効な構成に関するエラーが発生する可能性があります。お役に立てれば。

<target name="BuildMsi">
    <echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>    
    <exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe">
        <arg value="c:\My app\My_Test_solution.sln"/>
        <arg value="/build"/>
        <arg value="Release|x86" />
        <arg value="/project"/>
        <arg value="c:\My app\setup\My_Test_solution.vdproj"/>
    </exec>
</target>
于 2012-05-24T14:05:44.983 に答える
1

私の場合も同じで、/project でプロジェクト名を指定すると、.msi ファイルの生成に役立ちました。

devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj
于 2015-04-15T12:02:01.870 に答える
0

devenv.com から msi が生成されるとは思いません。 nant を使用して wix を選択してインストーラーを作成することもできます。

Nant には msi タスクというタスクがありますが、ダウンロードできない micrsoft キャビネット SDK が必要です。

詳しくはこちらをお読みください.vdproj から Devenv を使用せずにマージ モジュールをビルドします

ps インストーラーをビルドする別の方法を見つけた場合は、共有してください。

于 2011-04-19T07:22:40.700 に答える