2013-03-13 36 views
7

インストーラに依存関係を追加すると、ファイルにハードコーディングされたパスが常に残されます。InstallShield LE - ファイルへの相対パス

this blogによると、これを回避するには、ISProjectFolder変数を使用してISLファイルのハードコードされたパスを手動で変更するしかありません。インストーラを再ビルドするたびにファイルが爆発的になるので、これはいいことではありません。

また、パス変数についても触れましたが、InstallShield LEではそのような機能はないようです。

誰でもアイデアがありますか?出力ディレクトリ(Visual Studioの2012)にシールド限定版をインストールし 手順でコピーするファイルコンテンツのための

+4

ので、掲示、この、私は他の多くの制限に遭遇しましたInstall Shield LEについては、私はそれがスペースの完全な浪費だという結論に達しました。 –

答えて

12
  • 固定相対パス:あなたが1を参照してくださいよう
  • は、ソリューションエクスプローラでのインストールプロジェクトを展開します2,3,4,5,6セクション
  • 「2」を展開し、「ファイル」をダブルクリック あなたは4枚のパネルのページが表示されます:「ソースコンピュータのファイル」と「先コンピュータのファイル」
  • 削除してあなたの「宛先コンピュータのファイル」からハードコーディングされたパスとファイル
  • 左上のパネルで210
  • をクリックし、「コンテンツファイル」としてあなたのファイルを持つプロジェクト
  • に右上のパネルは
  • クリック「MyProjectとからコンテンツファイル」が表示されますと、右下のパネルに、これをドラッグします( 「先コンピュータのファイル」)

プロジェクトに戻って、あなたがコピーしたいすべてのファイルを確認してプロパティを持っている: ビルドアクション=コンテンツ と コピー出力ディレクトリに=常にコピー

+1

すごく、ありがとう。私はWixに賛成してInstall Shieldを捨てましたが、以前はあなたのソリューションに簡単なフィドルがあったようです。 –

+12

ファイルがプロジェクトの一部でない場合はどうなりますか?私はプロジェクトの中で実際にはコンパイルされているが、ソース管理では別に保管されているので、自分のプロジェクトで使用されている設定ファイルなどを100個保存します。 – VenerableAgents

+0

あなたは[この記事の] bvg(http://stackoverflow.com/questions/6912608/installshield-relative-file-paths)によって提供される回答を見てください。このソリューションでは追加できないファイルがある可能性があることを考慮しています。 (つまり、プロジェクトに含まれていないファイル) –

関連する問題