すべてのユーザーにインストールしたいVisualBasic6.0アプリケーションがあります。たとえば、コンピューターにログインするユーザーに関係なく、設定は1か所に保持されます。共通の場所を見つけるために次のコードがあります。
Const ssfCOMMONAPPDATA = &H23
Dim strAllUsersPath As String
strAllUsersPath = CreateObject("Shell.Application").NameSpace(ssfCOMMONAPPDATA).Self.Path
Windows XPでは、このパスはフォルダを指しC:\Documents and Settings\All Users\Application Data\
ます。セットアップはそこに設定ファイルをコピーし、すべてが素晴らしいです。Visual Basic 6.0アプリは、いつでも変更できます。
Windows 7では、このパスはフォルダーを指しc:\ProgramData
ます。管理者権限を必要とするセットアップは、そこにファイルをコピーします。ただし、Visual Basic 6.0アプリケーションが起動してファイルにアクセスすると、Windows 7は設定ファイルをC:\ Users {USER LOGIN} \ AppData \ Local \ VirtualStore \にコピーし、そこですべての操作を実行します。その結果、Windows 7はユーザーごとに設定ファイルを個別のユーザーディレクトリにコピーするため、ユーザーは異なる設定ファイルを持つことになります。
ファイルを間違った場所に保存していますか?私はそれを間違った方法でやっていますか?