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

わんくま同盟

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

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

ツリー一括表示

必須コンポーネントを入れないためには /774RR (18/08/03(Fri) 10:55) #88114
Re[1]: 必須コンポーネントを入れないためには /とっちゃん (18/08/03(Fri) 13:10) #88132
│└ Re[2]: 必須コンポーネントを入れないためには /yo (18/08/04(Sat) 12:44) #88140
│  └ Re[3]: 必須コンポーネントを入れないためには /とっちゃん (18/08/07(Tue) 10:59) #88166
│    └ Re[4]: 必須コンポーネントを入れないためには /774RR (18/08/07(Tue) 14:11) #88168 解決済み
Re[1]: 必須コンポーネントを入れないためには /shu (18/08/07(Tue) 14:15) #88169
  └ Re[2]: 必須コンポーネントを入れないためには /774RR (18/08/07(Tue) 14:32) #88171
    └ Re[3]: 必須コンポーネントを入れないためには /shu (18/08/07(Tue) 15:58) #88172 解決済み


親記事 / ▼[ 88132 ] ▼[ 88169 ]
■88114 / 親階層)  必須コンポーネントを入れないためには
□投稿者/ 774RR (620回)-(2018/08/03(Fri) 10:55:59)

分類:[インストーラ全般] 

Visual Studio 2005 (遺物) 付属のセットアッププロジェクトで .NET 2.0 向け WinForms App 用のインストーラを作成しています。で、できた MSI を .NET 3.5 を有効化していない Windows 10 上で実行させます。

「必須コンポーネントをインストールするセットアッププログラムを作成する」
のチェックを外しているにもかかわらず Windows 10 上で hoge_setup.msi を実行すると .NET 2.0 が無効であるがゆえに
「このセットアップは .NET Framework バージョン 2.0.50727 を必要とします」ダイアログが出てしまい
- いいえを選ぶとセットアップが終わってしまいます。
- はいを選ぶと Microsoft の Web Page の sorry this page is no longer available となります。

.NET 2.0 の有効化は今回の案件では不要なのですが、この「 .NET 2.0 を入れろ」画面を出さない方法はあるでしょうか?
[ □ Tree ] 返信 編集キー/

▲[ 88114 ] / ▼[ 88140 ]
■88132 / 1階層)  Re[1]: 必須コンポーネントを入れないためには
□投稿者/ とっちゃん (507回)-(2018/08/03(Fri) 13:10:38)
No88114 (774RR さん) に返信
> Visual Studio 2005 (遺物) 付属のセットアッププロジェクトで .NET 2.0 向け WinForms App 用のインストーラを作成しています。で、できた MSI を .NET 3.5 を有効化していない Windows 10 上で実行させます。
>
> 「必須コンポーネントをインストールするセットアッププログラムを作成する」
> のチェックを外しているにもかかわらず Windows 10 上で hoge_setup.msi を実行すると .NET 2.0 が無効であるがゆえに
> 「このセットアップは .NET Framework バージョン 2.0.50727 を必要とします」ダイアログが出てしまい
> - いいえを選ぶとセットアップが終わってしまいます。
> - はいを選ぶと Microsoft の Web Page の sorry this page is no longer available となります。
>
> .NET 2.0 の有効化は今回の案件では不要なのですが、この「 .NET 2.0 を入れろ」画面を出さない方法はあるでしょうか?

おそらく、起動条件だと思います。
セットアッププロジェクトのコンテキストメニューのサブメニュー(VS2017だとViewという英語)に、起動条件があります。
そこを開いて、Launch Conditions(これも日本語かもしれない)に、セットされていると思うのでそれを削除してください。
多分これで文句を言われなくなると思います。

[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88132 ] / ▼[ 88166 ]
■88140 / 2階層)  Re[2]: 必須コンポーネントを入れないためには
□投稿者/ yo (1回)-(2018/08/04(Sat) 12:44:37)
必須コンポーネントの起動条件って削除できましたっけ?
以前起動条件が削除できなくてorcaでセットアップを編集したことがあります。

orcaでCustomActionの何かを削除した記憶がありますが、、
大分前のことで思い出せない^^;

[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88140 ] / ▼[ 88168 ]
■88166 / 3階層)  Re[3]: 必須コンポーネントを入れないためには
□投稿者/ とっちゃん (508回)-(2018/08/07(Tue) 10:59:37)
No88140 (yo さん) に返信
> 必須コンポーネントの起動条件って削除できましたっけ?
> 以前起動条件が削除できなくてorcaでセットアップを編集したことがあります。
>
> orcaでCustomActionの何かを削除した記憶がありますが、、
> 大分前のことで思い出せない^^;
>
削除できなかったかな?
その場合は、必要なバージョンに設定を変えておけば使えるようになります。

今回なら、.NET 4 以降(細かいバージョンは指定できない可能性もある)ですね。

[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88166 ] / 返信無し
■88168 / 4階層)  Re[4]: 必須コンポーネントを入れないためには
□投稿者/ 774RR (622回)-(2018/08/07(Tue) 14:11:35)
昨日は丸一日別件に追われた・・・結果報告っす。

Visual Studio 2005 のインストーラプロパティ画面ではどうにもなりそうになかったので orca の出番。
https://www.codeproject.com/Articles/9527/Remove-NET-dependency-from-MSI-file
に書いてある通り

1. MSI ファイル自体を orca で開く
2. CustomAction 中の VSDCA_VsdLaunchConditions を drop する
( Win32 native C++ MFC アプリをインストールする msi にはこの行がない)
3. 保存して orca 終了

で、めでたく .NET Framework 2.0.50727 のインストール要求画面が出なくなりました。

相変わらず orca って入手めんどいのね。 orca でぐぐるとそっち系の記事ばかりヒットするの。
解決済み
[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88114 ] / ▼[ 88171 ]
■88169 / 1階層)  Re[1]: 必須コンポーネントを入れないためには
□投稿者/ shu (1136回)-(2018/08/07(Tue) 14:15:04)
No88114 (774RR さん) に返信

> のチェックを外しているにもかかわらず Windows 10 上で hoge_setup.msi を実行すると .NET 2.0 が無効であるがゆえに

2005の環境は覚えていませんが
msiではなくexeから実行しないと挙動が違う場合があったような気がします。
[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88169 ] / ▼[ 88172 ]
■88171 / 2階層)  Re[2]: 必須コンポーネントを入れないためには
□投稿者/ 774RR (623回)-(2018/08/07(Tue) 14:32:15)
必須コンポーネントを [入れたい] 場合は setup.exe から起動しないとうまく入らないんですが
今回の場合 [入れたくない] ので話はちょっと違うのです。

実際 VS2005 のセットアッププロジェクトのプロパティ [必須コンポーネント] を外すと setup.exe は生成されず hoge_setup.msi のみが生成されます。なのに hoge_setup.msi をポチるとインストールしてね画面が出るのを禁止したい、と。

手順書を書いて残しておかないと。

[ 親 88114 / □ Tree ] 返信 編集キー/

▲[ 88171 ] / 返信無し
■88172 / 3階層)  Re[3]: 必須コンポーネントを入れないためには
□投稿者/ shu (1137回)-(2018/08/07(Tue) 15:58:45)
No88171 (774RR さん) に返信

すみません。解決済はずすことになってしまいました。
解決済み
[ 親 88114 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -