VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/11/30(Thu) 22:10
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe^9: 制限ユーザーでファイル作成

> put でファイルを作成しようとすると、「パス名が無効です」とVBの実行時エラーがでます。

もしかして、App.Path に対して、ファイル作成処理を行ったりはしていませんか?

制限ユーザでの運用を考慮するのであれば、先述したように、
    With CreateObject("WScript.Shell")
        Debug.Print .SpecialFolders("Desktop")
        Debug.Print .SpecialFolders("MyDocuments")
        Debug.Print .SpecialFolders("AppData")
    End With
などの、個人用フォルダにファイルを生成するのが一般的とされています。

もし、他のログオンユーザからも共有して読み書き可能にしたいのであれば、
Users グループアカウントに対するアクセス許可権限を与えたフォルダを
用意しておき、そのフォルダを利用するようにしてみては如何でしょう。


> それから、インストール先を制限ユーザーの
> C:\Documents and Settings\(ユーザー名)\
> にすると、その制限ユーザーは正常に起動とファイル作成もできます。

「個人別フォルダにアプリを配置」して、それを他のユーザにも使わせるという運用方法は、
かなり問題があるかと思います。個人別フォルダにアクセスできるユーザアカウントは、
(管理者などを除けば)そのユーザだけに限られますので、他のユーザが使用しようとすれば、
ファイルシステム(NTFS)の権限設定などによって、アクセスが拒否されてしまうはずです。


もしも個人別フォルダにインストールさせる運用にするのであれば、それは
ログインしたユーザが、それぞれ、自分の個人別フォルダに対するセットアップ作業を
行う必要があるでしょう。当然、インストーラ自体も per-user モードが適切です。

一方、現在の per-machine の MSI としている場合には、ユーザごとのセットアップ作業を
行わなくて済みますが、その場合は、誰もが読めるフォルダ、たとえば、Program Files や
All Users フォルダ配下に配置しないと、他のユーザがアプリを使えなくなってしまいます。
この場合、App.Path への書込は行えないので、ファイル出力処理を見直す必要があるでしょう。


> wordを制限ユーザーで起動すると、最初にMSIが起動して何かしています。
MSI というか、Windows Installer ですよね。

Office 製品をフルインストールしていなかった場合の、「アドバタイズ インストール」が
原因だったり、もしくは、Office のユーザ別初期設定が行われていなかった場合
(イニシャルの入力を行っていないとか、"ようこそ"画面が未読だったりとか)に、
そのような現象が発生する事があるようです。

とはいえ、Word 起動時の問題と、制限ユーザでのファイル作成が失敗する件とは、
それぞれ別の問題として、切り離して考えておいた方が良いかと思います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -