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

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

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

Re[1]: VS2008→2013移行のセットアッププロジェクトの動作


(過去ログ 143 を表示中)

[トピック内 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 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -