2016-03-22 12 views
1

からのInstallshieldでインストーラを生成するために、私はこのような構造を持つ分岐スキーマを持っている:どのように任意のブランチ

    • 支店1
    • 支店2を開発します。 。 。

私は成功したが、枝を開発から私のインストーラプロジェクトを作成しましたが、私は他のbranchsから(支店1または支店2のような)インストーラを生成can't。

他のブランチからインストーラを生成するには、プロジェクト出力を削除してもう一度追加する必要があります。

私の目的は、開発からブランチを生成し、何も変更せずにこのブランチからインストーラを生成できることです。出来ますか?

EDITED:私は、相対パスを持つとそれを挿入することができ、プロジェクト内にある

ファイル。しかし、プライマリ出力そのプロジェクト(DLLまたは実行可能ファイル)のポイント私は相対パスを挿入することはできません。私は(すべてが設定されている)の開発から、分岐DLLまたは実行可能ファイルのパスを作る際

enter image description here 問題があり、主な出力はまだ魔女はインストーラが動作しない作り、枝を開発することを指します。

+0

TFS内で[TFVCからGit](https://msdn.microsoft.com/en-us/library/vs/alm/code/overview)に切り替えると、枝がそれでも同じ経路で表されます。しかし、TFVCモードからGitモードに変換するのは単純な作業ではなく、チェンジセット履歴のような情報が失われる可能性があります。 –

+0

意味がありません。絶対パスが必要ないように、ソースコードは常に相対パス参照または他の抽象を使用する必要があります。これは、ある開発者から別の開発者マシンへのワークスペース、別のビルドボックスへのビルドボックス、または別のビルドボックスへのワークスペースです。 TFVCに根本的に間違っていることはありませんが、Gitに切り替えると問題は解決します。 –

+0

彼はどこでTFSを使うのですか? –

答えて

0

インストーラは同じブランチに存在し、相対パス参照を使用する必要があります。これにより問題は発生しません。それ以外の場合は、InstallShieldパス変数を使用してギャップを埋めることができます。

+0

こんにちは、お返事ありがとうございます。私は私の質問を編集し、より多くの情報を含んでいます。私は、プロジェクト内のファイルの相対パスを使用することができます(そして正常に動作します)が、プライマリ出力がdllまたは実行ファイルである場合、相対パスを挿入できません。実際にはパスが表示されますが、どのブランチでも動作するはずです。しかし、私が道を確認するとき、それはまだ枝を開発することを指しています。 –

+0

個人的には、プロジェクト参照の使用や、InstallShieldコードとアプリケーションコードの同じソリューションへの保存はお勧めしません。私が気に入っているのは、1つのソリューションにアプリケーションを用意し、ポストビルドイベントを使用して、InstallShieldが相対パスでアクセスできるインストーラソリューションの下のディレクトリに配置されたアプリケーションのモデルをステージングすることです。それから私は、展開したいファイルに基づいてコンポーネントを明示的に作成します。 –

+0

これは興味深いアプローチですが、いくつかの例がありますか?私は別のソリューションでinstallshieldプロジェクトを作る方法を知らない! –

関連する問題