1

VS2012でInstallShieldLEを使用してセットアッププロジェクトを作成する場合、インストールする必要のあるプロジェクトを[ファイル]タブに追加します(インストールプロジェクトでアプリケーションデータを指定します)。アプリケーションのローカライズされたリソースも必要なので、ローカライズされたリソースを選択します。
インストール後、サードパーティのdllはすべて、アプリケーションのメインフォルダーではなく、言語フォルダーにコピーされます。したがって、アプリケーションはそれらを見つけることができず、イベントを開始できません。
ローカライズされたリソース出力の依存関係(ビルド時のスキャンからの依存関係)のチェックを外そうとしましたが、プライマリ出力でもチェックが外されます。

出力にサードパーティのdllを追加すると機能するように見えますが、dllへのパスがハードコードされており、チームの各メンバーがビルドする必要があるたびにセットアッププロジェクトを変更する必要があるため、これは問題ありません。

依存関係を適切な場所にインストールする方法についてのアイデアはありますか?

編集:
さらにテストした後、問題はランダムであるように見えます。場合によってはパスが正しく作成されますが、ほとんどの場合はそうではありません。

4

1 に答える 1

2

セットアップに次の出力があるとします

。MainProject.Debugシンボル
MainProject.Localizedリソース
MainProject.Primary出力
AuxProject.Debugシンボル
AuxProject.PrimaryOutputAnotherProject.PrimaryOutput 「
MainProject.Localizedresources

」と「MainProject.Primaryoutput」を右クリックすると、 「ビルド時のスキャンからの依存関係...」を選択すると、両方が同じ依存関係を持っていることがわかります。これが私の問題の原因でした(ローカライズされたフォルダーにコピーされた依存関係)。
これを解決するには、MainProject.Localizedリソースに移動し、右クリックして、[プロパティ]-> [COM&.NET設定]タブ->[ビルド時にスキャン]を[なし]->[OK]に設定します。
これで、セットアップがビルドされ、InstallShieldビルドDVD-5およびシングルイメージ(テスト済み)に正しくインストールされます。

于 2012-12-14T10:16:54.113 に答える