C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VS2008→2013移行のセットアッププロジェクトの動作

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■83974 / inTopicNo.1)  VS2008→2013移行のセットアッププロジェクトの動作
  
□投稿者/ ラオウ (1回)-(2017/04/28(Fri) 14:23:56)

分類:[.NET 全般] 

こんにちは。
現在、VS2008で作成したWindowsFormアプリ(VB2008)を、
VS2013に移行しようとしています。
また、VS2008で作成したセットアッププロジェクトを
VS2013に移行しようと思い、VS2013でインストーラを作成してみましたが、
このインストーラを実行すると、最後の方で

「Error 1001. ファイル 'C:\Program Files\(インストール先フォルダ)\XXXX.InstallState' が見つかりませんでした。」

というエラーメッセージが出て、インストールに失敗します。

このセットアッププロジェクトではカスタム動作エディタで使用しています。
上記メッセージの「XXXX.InstallState」の「XXXX」は、
カスタム動作エディタで使用している、Installer継承クラスのDLLの名前に同じです。

「InstallState 見つかりませんでした」で検索すると、
Commitだけでなく、Installにもカスタム動作の追加が必要
(Installer継承クラスのプライマリ出力を追加)と書かれていますが、
VS2008の時からInstallにもカスタム動作を追加しています。
もちろん、VS2008で作成したインストーラは問題なく動作します。

他に考えられる原因はないでしょうか?
引用返信 編集キー/
■83981 / inTopicNo.2)  Re[1]: VS2008→2013移行のセットアッププロジェクトの動作
□投稿者/ ラオウ (2回)-(2017/04/28(Fri) 16:46:18)
結論として、BackwardCompatibleIDGenerationプロパティを
Trueにすることにより解決できました。

あれから色々と確認をしてみましたが、
VS2008で作成したインストーラでインストールした旧バージョンのアプリが残っていると
今回の問題が発生するようです。

試しに、旧バージョンのアプリをアンインストール後にVS2013で作成したインストーラを実行したところ、
問題なくインストールが行われました。

そこでVS2013のセットアッププロジェクトの各プロパティを確認したところ、
VS2008にはなかったBackwardCompatibleIDGenerationプロパティがあったので
これを調べてみると、以下の記事を見つけました。

http://qiita.com/mmktomato/items/336a7316c3a951c89fc5

もしかしたらInstallStateが見つからない、というのもこれが原因かと思い、
このプロパティをTrue(デフォルトはFalse)にしてビルドしたところ、
これがビンゴでした。

お騒がせいたしましたが、自己解決できましたので、終了とさせていただきます。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ