お世話になります。
VS2005で開発し、SVNでファイルの管理をしております。
セットアッププロジェクトのビルドをするとreleaseフォルダに
あるファイル(通常はmsiファイルなど)を削除してから
新たなファイルを作成(ビルド)するようなのですが、
_SVNフォルダも一緒に削除されてしまい、
SVNでは管理出来なくなってしまいます。
ビルドする時に除外する設定等あるか調べたのですが、
見つかりませんでした。
もし回避する方法をご存知の方が居らっしゃったら教えてください。
それともreleaseフォルダはSVNでは管理しない方が
よいのでしょうか?
>それともreleaseフォルダはSVNでは管理しない方が
>よいのでしょうか?
ビルドするたびに生成物が更新されますので、SVN管理にはしていません。
バージョン管理したいもので、実行時に実行ファイルのある場所にあるべきファイル…がある場合は、別のディレクトリで管理するようにして、
「ビルド後のイベント」などでコピーするようにしていたりします。
他にも、インテリセンスのファイルや各ユーザー毎に作られるプロジェクトの設定ファイルなどもSVN管理にはしていません。
VS起動するだけで更新されるファイルまでSVN管理にすると…頻繁にコミットすることになりそうですし、
本来のソースコードなどの変更の履歴まで埋もれてしまって見にくくなる。と思われますので。
リリース物として.msiのバージョン管理もしたい。
というのであれば、releaseディレクトリとは別の場所に管理用のディレクトリを作成し、ビルド後のイベントなどでコピーするようにした方がよいかと。
# 私の場合、ネットに公開しているモノの場合はWebページ自体をSVN管理にしている(リポジトリは別)ので…「公開したもの」に関してはそちらでバージョン管理しています。
良きアドバイスありがとうございます。
やはり、releaseフォルダはSVN管理から外した方がよいのでしょうか。少し残念。
アプリケーションプロジェクトではreleaseフォルダは_SVNを消さずにビルド出来るので管理できますが、セットアッププロジェクトでは_SVNも削除するのはおかしい気もします。さすがMS
ご指摘にありますようにVSを起動するだけで作成されるファイルとかはSVNでは管理していないのですが、msiファイルは是非ともreleaseフォルダで管理したかったのです。それは、他のフォルダに移すと2重管理もしくは更新し忘れってこともありますので。
「ビルド後のイベント」と言うのは知らなかったので調べたのですが、アプリケーションのプロパティにはあるようですが、セットアップのプロパティにはないようです。
せっかくよい機能を教えてもらったに残念です。
他によき方法がありましたら教えてください。
とりあえずは、コピーして別フォルダにてmsiファイルを管理しようかと思います。
>「ビルド後のイベント」と言うのは知らなかったので調べたのですが、アプリケーションのプロパティにはあるようですが、セットアップのプロパティにはないようです。
確かに…無いですな。
.vddprojも覗いて見ましたが…なんとかできそうな設定らしきモノもなし…のようで。
.msiを作成するツールなりを呼んでいるハズ…なので、.msi作成の処理を「セットアッププロジェクト」からアプリケーションの「ビルド後のイベント」等に移す。
という手もあるハズですが……
# 手元のWiondowsMobileアプリはそうしているんですが…。
セットアッププロジェクトの,「配置プロジェクトのプロパティ」にPostBuildEventというプロパティがあります。
これがビルド後のイベントに相当します。
MSDN: PostBuildEvent プロパティ (配置)
http://msdn.microsoft.com/ja-jp/library/6h314436(VS.80).aspx
PostBuildEventというプロパティありました。
とりあえずは、コピーする方法で対応したいと思います。
瀬戸っぷ様、YuO様の貴重なご意見ありがとうございました。