質問: Visual Studio 2013 Expressではセットアッププロジェクトを作れないため、.NET Framework 3.5にダウングレードしてVisual Studio 2008 Pro上での開発に、開発環境をロールバックしました(プロジェクトファイルは手作業で修正)。 本当は.NET Framework 4.5が使えるVisual Studio 2013 Expressを用いたいのですが、Expressではセットアッププロジェクトが作れない上、Crystal Reports等の有料ライセンスライブラリが使えないようなので、仕方なく古い開発環境に戻しています。 VS2008Proでは.msiパッケージを作ることが出来るのですが、.NET 4.5でビルドしたバイナリは環境に含むことができず、仕方ないので面倒なのでコードを.NET 3.5用にコード修正したうえで、VS2008Pro環境に移しました。 ところが、そうしたら今まで正常に動いていたCOM呼び出しが動いているんですが、ちょっと振る舞いが変わってしまいました。 具体的にはここで質問して得た回答をもとに、Windows API Code Pack のソースコードを入手してビルドしたものを使っていたのですが、それも含めてVS2008Pro上でビルドし直したところ、今まで .pdfファイルのサムネイルが正常に表示されていた(ドキュメントの1ページ目の縮小画像)ものが、通常の .pdfファイル用のアイコンになってしまったというのがそれです。 --- 質問がわかりづらくて申し訳ありません。 1..NET Framework 4.5での開発(VS2013Express)でInstall Shieldなどの有料インストーラではなく、無料で使用できる信頼できる.NET依存関係にも対応したインストーラって無いでしょうか? 2.VS2008Pro環境でビルドしたバイナリをインストール出来る優れた無料のインストーラって無いでしょうか? 3.COM関連は.NETバージョンを変えるとおかしくなる可能性が高いでしょうか? すみませんが、宜しくお願い致します。
回答: 基本的にはsayuriさんの回答されている通りです。 1. NET Framework 4.5で無料で使用できる信頼できる.NET依存関係にも対応したインストーラ このようなケースの場合WiXを利用するのがやはり常道かと思います。 WiXはようするにmsiの実行スクリプトをXMLで記述してmsi出力するコンパイラで、darkというmsiのdecompilerも用意されているので、既存の2008プロジェクトなどで作成したmsiファイルをWiXのXMLプロジェクトファイルに変換し、こちらを調整していくのが手っ取り早いのではないかと思います。 > > Geoff's Blog: Converting a Visual Studio Setup Project to Wix > > > > > 2. VS2008Pro環境でビルドしたバイナリをインストール出来る優れた無料のインストーラって無いでしょうか? 基本的には上記のWiXを利用するのが最も適していると思いますが、WiX自体はプロジェクトファイルを細々と編集していく作業が発生するため(その分プリミティブに様々なことが実現できるのですが)手間はかかります。 正直、諸々の手間暇をmikacoloveさんの時給で換算すればVS2013Proのライセンスを購入し、Microsoft Visual Studio Installer Projects VS拡張を利用するのが既存のノウハウを流用可能で最も効率的ではないかと考えます。 3.COM関連は.NETバージョンを変えるとおかしくなる可能性が高いでしょうか? 単純に.NETのVersion依存というのは考えにくいと思います。sayuriさんの仰られるような環境依存の問題か、Windows API Code Packを利用されたとされるThumbnail取得周りの呼び出し経路に依存した問題ではないかと思います。