VisualStudio2013では、.NET Framework4.5.1を選択し開発が行えます。
VisualStudioに付属するInstallShieldELでインストーラーを作成して、.NET Frameworkも含めて配布しようと思ったら、4.5.1に対応していないことがわかりました。
最新の開発環境なのにインストーラーが対応してないってどういうことやねん!と思ってインストーラーの説明を読んでいると、設定を追加すると使えることがわかりました。
でも設定の追加方法がよく分からないのでいろいろ調べました。
先人のおかけでコードをコピペしたら使えるものを発見したのでありがたく使わせて頂きました。
でも.NET Framework本体だけの設定で言語パックの設定情報はありませんでした。
言語パックの設定は、既存の設定情報に似せて頑張って作ってみると問題なく動作してホッとしました。
環境
VisualStudio | 2013 |
---|---|
InstallShield | 2013LE |
.NET Framework4.5.1用の設定ファイルを作成する
.NET Framework4.5.1の設定ファイルを2種類作成します。
ファイル名はわかりやすい名前ならなんでもいいです。
つけた名前が設定画面に表示されます。
本体 | Microsoft .NET Framework 4.5.1.prq |
---|---|
日本語パック | Microsoft .NET Framework 4.5.1 Language Pack - Japanese.prq |
作成したファイルを次のパスに配置します。
C:\Program Files (x86)\InstallShield\2013LE\SetupPrerequisites
設定ファイルの中身
タグの意味はよく分かっていません。
ドキュメントもなさ気だったのでこれかなーっていう感じでやってますので、設定値は間違っている可能性があります。
プロパティIDは、.NET Frameworkをインストールしてレジストリに登録されるアンインストール情報のIDを使っています。
GUIDとかプロダクトコードとか言われるようです。
何が正しいのかよく分かりませんが、アンインストールが正常に行えれば問題ないと思われます。
Microsoft .NET Framework 4.5.1.prq
<?xml version="1.0" encoding="UTF-8"?> <SetupPrereq> <conditions> <!-- Test for redistributable 4.5.1 --> <condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" FileName="Release" ReturnValue="378758" /> <!-- Test for 4.5.1 on Win 8.1 --> <condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" FileName="Release" ReturnValue="378675" /> </conditions> <operatingsystemconditions> <!-- run on Win 7 --> <operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" ProductType="1" /> <!-- run on Win 8 --> <operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" ProductType="1" /> <!-- do not run on Win 8.1, so do not include v6.3 --> </operatingsystemconditions> <files> <file LocalFile="<ISProductFolder>\SetupPrerequisites\Microsoft .net\4.5.1\NDP451-KB2858728-x86-x64-AllOS-ENU.exe" URL="http://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe" CheckSum="607d3c9b399e3d303a1b14eb4326bd1e" FileSize="0,70087104" /> </files> <execute file="NDP451-KB2858728-x86-x64-AllOS-ENU.exe" cmdline="/q /norestart" cmdlinesilent="/q /norestart" returncodetoreboot="1641,3010" /> <properties Id="{7DEBE4EB-6B40-3766-BB35-5CBBC385DA37}" Description="This prerequisite installs the .NET Framework 4.5.1 package." /> <behavior Failure="2" Reboot="2" /> </SetupPrereq>
Microsoft .NET Framework 4.5.1 Language Pack - Japanese.prq
<?xml version="1.0" encoding="UTF-8"?> <SetupPrereq> <conditions> <condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1041" FileName="Install" ReturnValue="1"></condition> </conditions> <operatingsystemconditions> <operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" ProductType="1" /> <operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" ProductType="1" /> </operatingsystemconditions> <files> <file LocalFile="<ISProductFolder>\SetupPrerequisites\Microsoft .net\4.5.1\LangPack\Japanese\NDP451-KB2858728-x86-x64-AllOS-JPN.exe" URL="http://download.microsoft.com/download/B/F/5/BF53AC68-ECA9-4978-A492-7D338BAAE6E6/NDP451-KB2858728-x86-x64-AllOS-JPN.exe" CheckSum="63950ba1d367a5e30b4c850bc47b3304" FileSize="0,5996408"></file> </files> <execute file="NDP451-KB2858728-x86-x64-AllOS-JPN.exe" cmdline="/q /norestart" cmdlinesilent="/q /norestart" returncodetoreboot="1641,3010" /> <dependencies> <dependency File="<ISProductFolder>\SetupPrerequisites\Microsoft .NET Framework 4.5.1.prq"></dependency> </dependencies> <properties Id="{1AAF6669-31B2-3840-9346-F0F653840FD1}" Description="This prerequisite installs the .NET 4.5.1 framework Japanese language pack." /> <behavior Reboot="2" /> </SetupPrereq>
セットアッププロジェクトの設定
セットアッププロジェクトを展開し②にある「Redistributables」を選択します。
検索フィールドに「4.5.1」と入力し作成した設定情報に絞ります。
左のチェックボックスにチェックを入れると、ファイルがない場合確認のダイアログが表示され、OKを押すとローカルにダウンロードされます。
ダウンロードは1つずつしかできないので、ダウンロード毎にチェックします。
複数チェックしても自動でダウンロードは開始されないので注意してください。
ダウンロード先は設定ファイルにある<file>
に書かれたパスです。
ダウンロード状況は、VisualStudioの出力ウインドウに表示されます。
ファイルの有無は右側の「Location」で確認できます。
セットアッププロジェクトをSingleImageでビルドすると、セットアップファイルと.NET Frameworkを含むフォルダができます。
セットアップ時は2つとも必要になります。
セットアップを実行すると自動的に.NET Frameworkの有無を判断してインストールが開始されます。
.NET Frameworkが未インストールの時は次のような画面になります。
InstallShieldLEを使ったセットアップの作成は、後日記事にしてみようと思います。
VisualStudio2013本
- 作者: 金城俊哉
- 出版社/メーカー: 秀和システム
- 発売日: 2014/01
- メディア: 単行本
- この商品を含むブログ (3件) を見る
Visual Basic 2013パーフェクトマスター―Windows 8.1/8完全対応 Windows 7SP1対応 (Perfect Master SERIES)
- 作者: 金城俊哉
- 出版社/メーカー: 秀和システム
- 発売日: 2013/12
- メディア: 単行本
- この商品を含むブログを見る