2

ようやく、ソフトウェアのドキュメントをプログラム自体のディレクトリから「マイ ドキュメント」に移動するところまで来ました。また、マニフェストに「requestedPrivileges」行を追加して、仮想化に関するさらなる問題を防ぎます。

ただし、それだけを行った場合、Vista/7 で古いバージョンを実行していた人は、更新後に非表示の VirtualStore ディレクトリ内のどこかで作業を失う可能性があります。では、21 世紀に移行するための好ましい方法は何でしょうか?

率直に言って、ファイルをコピーすることには少し気をつけています。特に、シャドウ ディレクトリにプログラムでアクセスする方法が見つからないように思われるからです。

4

1 に答える 1

2

プログラムが機能するために管理者権限が正当に必要でない限り、requestedPrivileges を追加しないでください。また、仮想化がまだ有効であるため、最初の起動時にファイルがまだプログラムディレクトリにあるかのように簡単にコピーできるはずです。

ただし、UAC を有効にせずに移行を行う必要がある場合は、%LOCALAPPDATA%\VirtualStore\path\to\file. たとえば、ファイルC:\Program Files\OurApp\ に保存されていた場合、%LOCALAPPDATA%\VirtualStore\Program Files\OurApp\.

へのパスを取得するには、 SHGetSpecialFolderPathをCSIDL パラメータとして%LOCALAPPDATA%使用できます。CSIDL_LOCAL_APPDATA

于 2011-03-15T15:56:46.460 に答える