フォルダを作成し、ファイルc:\program ファイルを\myApp\データをwindows7
-
25-09-2019 - |
質問
私はあなたのc++アプリケーションズを変更できるようになって仕事をwindows7。問題は、新しいフォルダに保存ファイルとフォルダにまとめた。このフォルダを作成し、
c:\program ファイルを\myApp\data ewFolder.
この機能を使っているフォルダ新規作成、エラー:
if(!CreateDirectory(pathSamples,NULL)) //Throw Error
{
DWORD errorcode = GetLastError();
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, errorcode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK);
}
XPこの作品は、Windows7の場合は付いていますか?い走りとしての利用管理者以外のフォルダーを作成し、それ以外の"アクセスは拒否され"エラーがスローされます。
私の質問は以下です:
あるオプションを変化させることができ、コードのフォルダの中に作ることができる"データファイルのインストール"タフェースを強化するファイルを保存できるフォルダ?
PS私の このスレッド でもお答えできませんので私の質問です。
おかげさ
イ
解決 5
それは、インストーラにこのフォルダのアクセス許可を設定するには十分だったように見えますし、今では正常に動作します。
あなたの答えをありがとうみんな!
他のヒント
あなたはあなた自身の質問に答えています。あなたは、Windows 7のプログラムファイルの下のライトへの管理者である必要があります。
アプリケーション・データは//のAppDataなどユーザーの下に別のエリアに行く...
あなたはXPとVistaおよびWindows 7上の新しい領域に古い領域を使用することができますので、あなたは常に、書き込みに場所を選択するために、レジストリを使用することができます。
Vistaで制限されたユーザーのアクセス権を持つと、後であなたが「プログラムファイル」またはその他の非標準的な場所にファイルを置くしようとしているようにしたくありません。あなたは本当にシステムからの正確な位置を得るために、 SHGetFolderPath に使用する必要があります。
いるその他の既に書いて,%ProgramFiles%ではないのは、ユーザのデータです。の正しい解を明らかにするための再設計に応用で使用保管場所です。
の代替として存在し、迅速や汚れ(!) 問題の修正アプリケーションが ない てのマニフェスト、ユーザーアカウント制御データのリダイレクトキック、透明替書き込み要求システム分野への安全な場所にユーザープロフィールのリダイレクトの目標"%LocalAppData%\VirtualStore\プログラムファイルです。詳細はこういうの仮想化でき こちらの.
まれている間に行うことができるだけ除去、マニフェストできます。
として @CashCow 書き込みます:
る必要があり、管理者 書プログラムは、ファイルWindows 7.
うはめにプロセスを使用 ShellExecute "runas"
など)、そのフォルダにまとめた。
一部の ShellExecute
例: