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

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

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

Re[12]: インストール後に(別アカウントだと)メディアを要求される


(過去ログ 80 を表示中)

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

■47022 / inTopicNo.1)  インストール後に(別アカウントだと)メディアを要求される
  
□投稿者/ ゆび牛乳 (1回)-(2010/02/16(Tue) 14:04:46)

分類:[.NET 全般] 

VS2008の「セットアッププロジェクト」でインストーラを作りました。
インストールを実行したのちに、Windowsの別アカウントでアプリを起動しようとすると
「選択した機能はCD-ROM、または現在使用できないほかのリムーバブルディスクにあります。」
というメッセージが出てメディアを要求されます。
これは仕様なのでしょうか。
それとも何か設定などがまずいのでしょうか。
インストールを行ったアカウントでは現象が出ません。
また以前VC++6.0付属のInstall Shieldで作成したインストーラでは現象が出ませんでした。
よろしくお願いします。
環境:Windows XP SP3

引用返信 編集キー/
■47030 / inTopicNo.2)  Re[1]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (469回)-(2010/02/16(Tue) 14:57:15)
とっちゃん さんの Web サイト
No47022 (ゆび牛乳 さん) に返信
> VS2008の「セットアッププロジェクト」でインストーラを作りました。
> インストールを実行したのちに、Windowsの別アカウントでアプリを起動しようとすると
> 「選択した機能はCD-ROM、または現在使用できないほかのリムーバブルディスクにあります。」
> というメッセージが出てメディアを要求されます。
> これは仕様なのでしょうか。
> それとも何か設定などがまずいのでしょうか。
> インストールを行ったアカウントでは現象が出ません。

何らかの設定情報がマシン全体に設定されていないために発生していると思いますが
この情報だけではそれがどこだかは一寸分りかねます。
もしレジストリに何か記述しているのであればそのあたりがHKEY_LOCAL_MACHINEとHKEY_CLASSES_ROOT以外に
設定しにいっていないかを確認してみるとよいかと。

あとは。。。このユーザーのみとかその辺の設定ですかね。
それ以外にはぱっと思いつくところがないので何とも。。。


> また以前VC++6.0付属のInstall Shieldで作成したインストーラでは現象が出ませんでした。
こちらは、インストーラの実行エンジンそのものが全く違うものなので
あまり参考にはなりませんね。
たとえ、アップグレードしたという場合であっても。

引用返信 編集キー/
■47033 / inTopicNo.3)  Re[2]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (2回)-(2010/02/16(Tue) 18:34:09)
とっちゃんさん、ありがとうございます。

状況説明が不十分ですみませんでした。
単純なサンプルを作って試したところ設定により再現したりしなかったりです。

サンプル:
「アプリケーションフォルダ」に自前exeを一個おく
「アプリケーションフォルダ」に自前データを沢山おく(241個トータルサイズ636KB)
「ユーザープログラムのメニュー」にフォルダ「Setup」を作成
フォルダ「Setup」の「AlwaysCreate」を「True」に設定
フォルダ「Setup」に自前exeへのショートカットをおく

上記サンプルを「Release」にてビルドし、結果をUSBメモリへ書き込む。
USBメモリのsetup.exeを用いて「すべてのユーザー」にてインストール。
USBメモリを外して、Windowsの別アカウントでログオンし、「自前exeへのショートカット」を
たたくと再現します。

「自前データを沢山おく」か『フォルダ「Setup」の「AlwaysCreate」を「True」』の
いずれかをやめると再現しません。

このような状況なので、当面は「アカウントを変えたら起動一回目はメディアが必須」
ということで運用でカバーしてもらおうかとも考えています。

そういえば市販のアプリでもアカウント変えたときにこんな現象でるやつがあった気がします。

親切にご指導くださり、ありがとうございました。

引用返信 編集キー/
■47035 / inTopicNo.4)  Re[3]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (470回)-(2010/02/16(Tue) 22:56:11)
とっちゃん さんの Web サイト
No47033 (ゆび牛乳 さん) に返信
> 状況説明が不十分ですみませんでした。
> 単純なサンプルを作って試したところ設定により再現したりしなかったりです。
>
> サンプル:
> 「アプリケーションフォルダ」に自前exeを一個おく
> 「アプリケーションフォルダ」に自前データを沢山おく(241個トータルサイズ636KB)
> 「ユーザープログラムのメニュー」にフォルダ「Setup」を作成
> フォルダ「Setup」の「AlwaysCreate」を「True」に設定
> フォルダ「Setup」に自前exeへのショートカットをおく
>
> 上記サンプルを「Release」にてビルドし、結果をUSBメモリへ書き込む。
> USBメモリのsetup.exeを用いて「すべてのユーザー」にてインストール。
> USBメモリを外して、Windowsの別アカウントでログオンし、「自前exeへのショートカット」を
> たたくと再現します。
>
> 「自前データを沢山おく」か『フォルダ「Setup」の「AlwaysCreate」を「True」』の
> いずれかをやめると再現しません。
>
> このような状況なので、当面は「アカウントを変えたら起動一回目はメディアが必須」
> ということで運用でカバーしてもらおうかとも考えています。
>
> そういえば市販のアプリでもアカウント変えたときにこんな現象でるやつがあった気がします。
>
ふむ。。。これだけだとどこに原因があるのか特定はできませんが
フォルダの AlwaysCreate はいらないと思います。

アカウントを切り替えたらショートカットが見えなくなっているということはないんですよね?
もし、アカウントを切り替えたらショートカットがいなくなるなどがあるのであれば
そこを追及していくとなりますが(この場合はおそらくOrcaが必要になってくると思われる)
そうではなく、見た目特に問題があるようには見えないのであれば
常にフォルダを作るという設定は必要ないと思います。

いちどその設定をはずして問題が発生するかどうかを確認してみてはどうでしょう?

ファイル数のほうが問題だとするとVSセットアップをやめてほかのインストーラ作成ツール(WiXやInstallShieldなど)を
使うことを検討する必要があるかもしれません。
可能性だけですけど、以前9x系で本当にリミットオーバーでNGだったことがあるのでそれと同じような
ところがあるということも否定はできませんので。。。

引用返信 編集キー/
■47160 / inTopicNo.5)  Re[4]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (3回)-(2010/02/19(Fri) 13:33:00)
力がたりず。
開発環境を「VC++6.0付属のInstall Shield」に戻すことになってしまいました。

要求仕様に対し致命的な問題、
アカウントを変えたときに、そのアカウントが「制限付きアカウント」だと、
ショートカットをたたいたときに「製品 xxxx のインストールパッケージが見つかりませんでした」
が表示されメディアの要求すらもしてもらえない。
つまり「制限付きアカウント」ではアプリを使用できない。
という現象が見つかってしまったのです。
すみませんでした。
今後なにかわかったら報告します。

> フォルダの AlwaysCreate はいらないと思います。

はい、おっしゃるとおり今回のサンプルでは不要なのですが、本ちゃんでは必要なのです。
本ちゃんでは、フォルダに対するショートカットをデスクトップに作るようにしており
そうすると AlwaysCreate にしなければビルドエラーになります。


> アカウントを切り替えたらショートカットが見えなくなっているということはないんですよね?

アカウントを切り替えても、ショートカットは見えております。


> いちどその設定をはずして問題が発生するかどうかを確認してみてはどうでしょう?

今回のサンプルでは、AlwaysCreate を外すと問題は解消します。
本ちゃんでは、AlwaysCreate を外してフォルダに対するショートカットをやめると解消します。
あるいは、AlwaysCreate のままにしておいても、「沢山の自前データ」をやめると解消します。
発生理由が、わたしのあたまではわかりません。


> ファイル数のほうが問題だとするとVSセットアップをやめてほかのインストーラ作成ツール(WiXやInstallShieldなど)を
> 使うことを検討する必要があるかもしれません。

将来的には、これらのちゃんとした(?)インストーラ作成ツールの導入も考えたいと思います。


とっちゃんさん、とてもお世話になりまして、ありがとうございました。

引用返信 編集キー/
■47163 / inTopicNo.6)  Re[5]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (477回)-(2010/02/19(Fri) 14:51:06)
とっちゃん さんの Web サイト
No47160 (ゆび牛乳 さん) に返信

> 要求仕様に対し致命的な問題、
> アカウントを変えたときに、そのアカウントが「制限付きアカウント」だと、
> ショートカットをたたいたときに「製品 xxxx のインストールパッケージが見つかりませんでした」
> が表示されメディアの要求すらもしてもらえない。
> つまり「制限付きアカウント」ではアプリを使用できない。
> という現象が見つかってしまったのです。

パッケージが見つかりません...はおそらく常にmsiが要求されてしまうことが原因だと思います。

なので、根本部分が直らないとクリアできない課題ではないかと。。。

> はい、おっしゃるとおり今回のサンプルでは不要なのですが、本ちゃんでは必要なのです。
> 本ちゃんでは、フォルダに対するショートカットをデスクトップに作るようにしており
> そうすると AlwaysCreate にしなければビルドエラーになります。
>
もしかして、デスクトップ(最初から見えてるはず)ではなくて、デスクトップのディレクトリを指定しているなどは
ありませんかね?

それとも、ALLUSERS指定の問題かな?

ちょっと微妙な領域なので、なぜそうなっているか?はプロジェクトとか出来上がりのmsiとかを見てみないと
わからないかも...

といって、ここに流してしまうとただの流出ですがw


> 今回のサンプルでは、AlwaysCreate を外すと問題は解消します。
> 本ちゃんでは、AlwaysCreate を外してフォルダに対するショートカットをやめると解消します。
> あるいは、AlwaysCreate のままにしておいても、「沢山の自前データ」をやめると解消します。
> 発生理由が、わたしのあたまではわかりません。
>
どこかに何らかの問題があるということしかわからないのでこれ以上は文字だけで追求というのは
多分かなり困難です。。。(問題ありそう?な部分を文字で表現できない限り)


一応、あきらめという形ではあるものの終息してるようなので解決済みをつけておきますね。
#ただのマークなので追記可能です
解決済み
引用返信 編集キー/
■47289 / inTopicNo.7)  Re[6]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (4回)-(2010/02/24(Wed) 13:28:51)
とっちゃんさん
大変お世話になっております。
解決済みマークありがとうございました。
業務では挫折してしまいましたが、もし気力があれば、個人的に取り組みたいと思っています。

> もしかして、デスクトップ(最初から見えてるはず)ではなくて、
> デスクトップのディレクトリを指定しているなどはありませんかね?

すみませんが、とっちゃんさんが言われる「デスクトップのディレクトリ」とは
どういうもののことでしょうか?
「デスクトップ」は、Windowsの基本画面のこと。
「ディレクトリ」は、フォルダとかファイルの一覧のこと。
個々の単語は理解できてるつもりですが…
恐れ入りますが、ご指導おねがいします。

> ちょっと微妙な領域なので、なぜそうなっているか?はプロジェクトとか出来上がりのmsiとかを見てみないと
> わからないかも...
>
> といって、ここに流してしまうとただの流出ですがw

プロジェクトとかmsiをここに流すことが可能なのですか?
可能であれば流してご指導を仰ぎたいですが、バイナリファイルなどもあり、どうやって流すのかわからず
これについても教えていただけると幸いです。

引用返信 編集キー/
■47320 / inTopicNo.8)  Re[7]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (479回)-(2010/02/25(Thu) 19:51:48)
とっちゃん さんの Web サイト
No47289 (ゆび牛乳 さん) に返信

順番を逆にしてます。

> プロジェクトとかmsiをここに流すことが可能なのですか?
> 可能であれば流してご指導を仰ぎたいですが、バイナリファイルなどもあり、どうやって流すのかわからず
> これについても教えていただけると幸いです。

この掲示板では直接ファイルを添付するという方法は提供されていません。
ですので、ご自身で任意の人がアクセスできる場所(SkyDriveのようなWebストレージや、Blog、Webサイトなど)に
アップロードし、そこからダウンロードできるURLを開示するという形になります。

ただし、上記のような場所にアップロードした場合、社外持ち出しに当たるのと
不特定多数の人が参照できるようになる可能性があるため、状況によっては
非常に問題のある状況となることがあり得ます。

問題ない場合もあるかもしれませんので今回の場合どうなのかは社内のそういうことが分かる人に聞いてみてください。



> すみませんが、とっちゃんさんが言われる「デスクトップのディレクトリ」とは
> どういうもののことでしょうか?

えっと...
セットアップのファイルシステムビューに最初からある「ユーザーのデスクトップ」というフォルダではなく
別途ディレクトリとして直接指定していませんか?という意味です。

通常は DesktopFolder のさすディレクトリが存在していないということはありません。
(アクセスできないように設定されている可能性は否定しませんが)。

ですので、AlwaysCreate が必要になるという可能性があるという時点で何かがおかしいと言わざるを得ないのです。

そのため、考えられる一番安易な理由として直接パス指定していないか?という可能性を疑ってみました。

> 「デスクトップ」は、Windowsの基本画面のこと。
> 「ディレクトリ」は、フォルダとかファイルの一覧のこと。
> 個々の単語は理解できてるつもりですが…

ディレクトリは少なくともMS製のOSにおいては、ファイルシステム上の物理的な存在をさします。
それに対し、エクスプローラをシェルとするWindowsOSでいうところのフォルダは、論理的な存在で、かつローカル用語です。
Windows Mobile/Windows phone/Windows Phone などにつながる系譜や、
マック、あるいはLinuxなどほかのOSでは異なる用語の使い方をしていることがありますので注意してください。


> 業務では挫折してしまいましたが、もし気力があれば、個人的に取り組みたいと思っています。
>
がんばってください。応援くらいしかできませんけど。。。

引用返信 編集キー/
■47426 / inTopicNo.9)  Re[8]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (5回)-(2010/03/02(Tue) 13:20:05)
お世話になっております。

ごくごく簡単なプロジェクトで再現しました。
ここへ置きますのでご指導お願いします。
↓
http://cid-11035de3093c8948.skydrive.live.com/browse.aspx/.Public/20100302-C^3%e3%81%a8VB.NET


◆構成

対象コンピュータ上のファイルシステム
 |
 |--アプリケーションフォルダ
 |  |--My.exe(C++で作ったスケルトンアプリ)
 |  |--My.txt(1バイトのテキスト)
 |
 |--ユーザーのデスクトップ
 |  |--MyFolder**へのショートカット
 |
 |--ユーザーのプログラムメニュー
    |--MyFolder**
      |--My.exeへのショートカット

設定が一箇所だけ異なるプロジェクトを二種類作りました。
プロジェクトSetup11:InstallAllUsersをFalseに設定
プロジェクトSetup12:InstallAllUsersをTrue に設定


◆インストール方法

setup.exeと.msiをUSBメモリに入れ、Administratorにてインストールします。
(Setup11は「すべてのユーザー」を選択してインストール)
インストールを終えたら、USBメモリを外し、制限付きアカウントでログオンしてから
アプリを起動する。


◆現象

Setup11:
(1)「スタート」-「すべてのプログラム」-「MyFolder**」-「My.exeへのショートカット」
   をたたくと「製品Setup**のインストールパッケージが見つかりません」となります。
(2)「MyFolder**へのショートカット」をたたくと、「MyFolder**をさがしています」
   となります。

Setup12:
(1)「スタート」-「すべてのプログラム」-「MyFolder**」-「My.exeへのショートカット」
   をたたくと「製品Setup**のインストールパッケージが見つかりません」となります。

現象(1)については原因がつかめておりません。
制限付きアカウントでアプリを実行できず致命的です。

現象(2)については、「MyFolder**へのショートカット」のリンク先の実体がないためですが
InstallAllUsersをTrueにすれば回避できるので、特に問題はありません。


◆とっちゃん様

はじめてSkyDriveを試しました。ご紹介ありがとうございました。

「ディレクトリ」と「フォルダ」の解説をありがとうございました。
今後は他のOSについても視野を広げるようにしたいと思います。

> がんばってください。

どうもありがとうございます (;e;)

引用返信 編集キー/
■47435 / inTopicNo.10)  Re[9]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (482回)-(2010/03/02(Tue) 15:18:06)
とっちゃん さんの Web サイト
No47426 (ゆび牛乳 さん) に返信

> 現象(1)については原因がつかめておりません。
> 制限付きアカウントでアプリを実行できず致命的です。
>
> 現象(2)については、「MyFolder**へのショートカット」のリンク先の実体がないためですが
> InstallAllUsersをTrueにすれば回避できるので、特に問題はありません。
>
msiをビルドしてみました。
フォルダへのショートカットだからだと思いますが、ICEのワーニング対策なのか HKEY_CURRENT_USER のレジストリキーに
エントリーを作ってしまうためにこの現象が出てるのが直接的な原因だと思います。

結論から言うと、ビルドされる状況としてHKEY_CURRENT_USERへの書き込みが発生するような
事象が組み込まれないようにするという方法をとるか、後から除外するかのどちらかになります。

前者の場合は、フォルダへのショートカットをやめ、デスクトップにもアプリへのショートカットとしフォルダの常に作成フラグを解除する。
後者の場合は、フォルダのショートカットの関連項目(Componentほか)からなくても動作に支障が出ないものを削除する。
です。

引用返信 編集キー/
■47442 / inTopicNo.11)  Re[10]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (6回)-(2010/03/02(Tue) 17:21:42)
No47435 (とっちゃん さん) に返信

どうもありがとうございました。
「前者」案により、フォルダへのショートカットをやめ、フォルダそのものを
作るようにしたところ、不具合が解消しました。

対象コンピュータ上のファイルシステム
 |
 |--アプリケーションフォルダ
 |  |--My.exe(C++で作ったスケルトンアプリ)
 |  |--My.txt(1バイトのテキスト)
 |
 |--ユーザーのデスクトップ
 |  |--MyFolder** ▲改
 |    |--My.exeへのショートカット ▲改
 |
 |--ユーザーのプログラムメニュー
    |--MyFolder**
      |--My.exeへのショートカット

考えてみますと、「デスクトップ上にフォルダへのショートカットを作る」
といったインストーラはいままで見たことがないので、わたしが作っていた
インストーラの仕様自体がすこし変だったのかもしれません。
VC++6.0のInstallShieldではたまたま不具合が出なかったので
今まで違和感を感じずにおりました。

とっちゃんさん、大変お世話になりました。
どうもありがとうございました。

解決済み
引用返信 編集キー/
■47446 / inTopicNo.12)  Re[11]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ とっちゃん (483回)-(2010/03/02(Tue) 19:06:35)
とっちゃん さんの Web サイト
No47442 (ゆび牛乳 さん) に返信

> 考えてみますと、「デスクトップ上にフォルダへのショートカットを作る」
> といったインストーラはいままで見たことがないので、わたしが作っていた
> インストーラの仕様自体がすこし変だったのかもしれません。

えっと。。。そういうインストーラもあります。
なので仕様としておかしいかどうか?という点は何とも言えません。

が、

Windows XP 以降、そもそもデスクトップにショートカットとか置くんじゃねーよ!

というのが基本スタンス(というか、ちゃんとしたロゴだと、デスクトップにショートカットおけません)ですので
作るの?というところにまず疑問点をもつことをお勧めします。

まぁ業務系だとロゴ関係ないし...になると思いますが。


> VC++6.0のInstallShieldではたまたま不具合が出なかったので
> 今まで違和感を感じずにおりました。
>
この辺りは、インストーラエンジンの違いに起因するものです。
なので、違和感がというのとはちょっと違う問題ですね。

VB6アプリとVC6アプリではいろいろ違うよねとかそういう次元の問題に近いです。

解決済み
引用返信 編集キー/
■47467 / inTopicNo.13)  Re[12]: インストール後に(別アカウントだと)メディアを要求される
□投稿者/ ゆび牛乳 (7回)-(2010/03/03(Wed) 14:46:45)
No47446 (とっちゃん さん) に返信

インストーラ、ショートカット、エンジンのお話、ありがとうございました。
今後の参考にさせていただきます。

わたしも、デスクトップ上にショートカットなどを勝手に置かれるのは好きでなく
あとで必要に応じて自分で作るのがいいと、個人的には思っています。

とっちゃんさん、お世話になりました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -