2012-01-18 4 views
0

업무용 소프트웨어에 Microsoft Access (.mdb) 데이터베이스를 사용합니다. 최근에 나는 설치 후 소프트웨어를 열 수 없다는 사용자의 의견을 많이 보았습니다.배포 (.MDB) 배포 문제 - Windows 7 - 관리자 사용자로 설치 하시겠습니까?

기본적으로 user \ appdata \ local \ myfolder 경로에 데이터베이스를 저장합니다. 사용자가 관리자 권한없이 소프트웨어를 설치하려고 시도하는 경우 Windows 7 시스템에서이 사용자의 시나리오를 고려하면 관리자 및 사용자 비밀번호를 입력해야만 Inno 설치가 로그인 대신 관리자 사용자의 로컬 폴더에 데이터베이스를 설치하게됩니다. 사용자의 로컬 데이터 폴더.

설치 후 내 소프트웨어는 로그인 한 사용자의 로컬 데이터 폴더가 아니라 관리자의 로컬 데이터에 저장되어 있으므로 데이터베이스를 찾을 수 없습니다. Environment.SpecialFolder.LocalApplicationData를 사용하여 C#에서 현재 사용자의 localappdata 폴더를 찾습니다.

데이터베이스에 읽기/쓰기 권한을 저장할 수있는 다른 폴더가 없다고 생각합니다. 프로그램 파일 폴더가 적합하지 않습니다.

가장 좋은 해결책은 무엇일까요?

미리 감사드립니다.

+0

나는 현재 commonappdata 상수를 사용하여 programdata 폴더로 노력하고있다 ... 생각한다. – ReflectionSoft

+0

모든 사용자가 programdata 폴더에 대한 쓰기 권한을 가지고 있지 않기 때문에 ... :( – ReflectionSoft

답변

0

나는 비슷한 방식으로 Access 데이터베이스를 배포, 그것을위한 가장 좋은 장소는 다음과 같습니다

C:\User\Username 

사용자의 어떤 이유가 그 권한 설정을해야하지 않으면, 자신의 폴더에 대한 쓰기 속성을 가져야한다 개정.

C : 드라이브에 하나의 복사본이있는 대신 개별 사용자마다 복사본이 저장됩니다. 사용자가 로그온 한 모든 컴퓨터에서 액세스 할 수있는 개인 공유 공간이 있으면 네트워크 드라이브로 매핑됩니다.

+0

OK. 이미 언급 한 바와 같이 내 .mdb 파일을 users \ appdata \ local 폴더에 저장하고 모든 사용자가 설치하면 내 프로그램의 경우 무의미한 여러 복사본이있게됩니다. – ReflectionSoft

+0

이제 관리자가 사용자 설치시 경고 메시지가 표시됩니다. 그는 아니며 소프트웨어가 자신의 폴더에서 데이터베이스를 찾을 수없는 경우 오류 메시지 대신 위치를 요청합니다 – ReflectionSoft