2012-03-30 1 views
2

Wix-ProjectでHeatDirectoryタスクを使用してファイルを取得しています。さらに、ヒートディレクトリディレクトリのシンボリックリンクを使用して、ショートカットが指すフォルダを常に使用することをお勧めします。しかし、このシンボリックリンクではパラメータがあまり快適ではないようですので、ファイルを収穫する前にファイルをコピーして回避策を作成しようとしました。WiX HeatDirectoryタスクがシンボリックリンクを指している

<Exec Command="xcopy \\myFileServer\Shortcut2LatestFiles\*.* c:\mytmp" ContinueOnError="true"/> 
<HeatDirectory OutputFile="files.wxs" Directory="c:\mytmp" 
(... some more parameters ...) /> 

残念ながら、xcopyはシンボリックリンクを解決しないため、この回避策は動作しません。 とにかく私はそれについて非常に満足していませんし、ショートカットを直接使用するために熱を好むでしょう。そうする方法はありますか?

EDIT: - XCOPY部分は私がおかしい

<Exec Command="xcopy &quot;c:\TestFolderSymlink&quot; &quot;c:\testtarget\&quot; /y" /> 

を使用している場合、十分な彼らは、コマンドライン上で必要とされていないよう努めていアレクセイは提案のように欠けている部分は、実際には、引用符ました。

EDIT 2:引用符を使用すると、ヒートディレクトリタスクでのシンボリックリンクの直接使用も可能です。しかし、ここではショートカット(.lnk-File)ではなく、シンボリックリンク(mklinkで作成された、いくつかの情報here)を使用していることに注意してください。実際、ショートカットはこの方法では動作しません。

+0

どのようなエラーが表示されますか? 'xcopy'から、' heat'から? –

+0

xcopyはコマンドラインからトリガされている場合は動作していますが、上記のように呼び出されると "file *。* not found"と表示されます。私は時間を見つけるとすぐにサンプルプロジェクトを作成しようとします。 – ChriPf

+1

ディレクトリの前後に引用符「"」を追加してみてください。 –

答えて

0

コメントは上記の質問に答えたが、ここに答えているので、質問はwixタグの未回答のリストから外れる。

パスにスペースやシンボリックリンクが含まれている場合は、パスを引用するようにしてください。パスを引用することは、ほとんどの場合、通常は良い考えです。しばしば&quot;構文をより読みやすいことができ

<Exec Command='xcopy "c:\TestFolderSymlink" "c:\testtarget\" /y' /> 

:注XMLにあなたのような「内部」に二重引用符を使用するには、「外」に単一引用符を使用することができます。

関連する問題