2011-11-07 12 views
1

製品のClickOnce展開を自動化する処理中です。ビルドスクリプトにANTを使用していますが、私は答えが見つからないという問題が発生しています。プロジェクトをビルドし、必要なファイル(EXE、DLLなど)をステージングディレクトリにコピーできます。コマンドプロンプトを開き、手動でmage.exeを実行して、アプリケーションマニフェストとデプロイメントマニフェストの両方を生成して署名することができます。これにより、インストールされ実行される実用的なデプロイメントが提供されます。この問題は、ANTスクリプトでこれを自動化しようとしたときに発生します。私は製品をコンパイルし、それをうまくコピーします。アプリケーションマニフェストを作成する場合は、すべてのファイルに対して次のエラーが発生します。スクリプトファイルから実行するとMage.exeの問題が発生する

警告{assemblyName}アセンブリファイルが誤ってファイルとして指定されています。

まったく同じmageコマンドが使用されていますが、スクリプトから実行すると、実際には最後にエラーが発生するという警告が表示されます。このエラーのため、アプリケーションマニフェストファイルが無効であり、製品がユーザーマシンにインストールされません。繰り返しますが、コマンドプロンプトで同じコマンドを手動で入力すると、それは機能し、展開は素晴らしいですが、スクリプトからは機能しません。すべてのプロパティが正しいことが確認され、すべてのパスも正しいことが確認されます。また、すべてのハードコードされた値(プロパティなし)でコマンドを実行しようとしましたが、エラーは持続します。

ご協力いただければ幸いです。

<target name="foo"> 
    <exec executable='${mage}'> 
    <arg line='-New Application 
       -Processor x86 
       -ToFile 'D:\BuildSynch\ClickOnce\TabletMPE\1.0.0.0\TabletMPE.exe.manifest' 
       -name 'TabletMPE' 
       -Version 1.0.0.0 
       -FromDirectory '1.0.0.0'"/> 
</exec> 
</target> 

答えて

0

あなたのコードは間違いなく正しいと思われます。あなたはそれがアリ手動でhighly recommendedあるよう<arg value=""/>を使用してみてくださいまた

<exec executable='${mage}'> 
    <arg line='-New "Application" -Processor "x86" -ToFile "D:\BuildSynch\ClickOnce\TabletMPE\1.0.0.0\TabletMPE.exe.manifest" -name "TabletMPE" -Version "1.0.0.0" -FromDirectory "1.0.0.0"'/> 
</exec> 

:私はこれをしようとするだろう。

関連する問題