2009-08-17 4 views
0

년 동안 Windows XP (32 비트)는 내 개발 데스크톱 (개인 프로젝트)이었습니다. 나는 많은 취미 프로젝트를 개발하고 그것을 오픈 소스로 배포하며 Vista에서 그것을 확인하는 것에 대해 걱정하거나 귀찮게하지 않았습니다 (저는 일주일 동안 Vista 만 사용했습니다). 하지만 내 사용자 중 누구도 비스타에서 내 애플 리케이션에 대해 많이 불평하지 않았습니다.개발을 위해 Windows 7 (64)로 옮겼습니다. UAC 설정은 어떻습니까? [Windows 응용 프로그램]

이제 Windows 7 64 비트 OS (RTM)로 이동했습니다. Visual Studio 2008을 사용하고 있습니다. 판매하려는 응용 프로그램을 개발 중입니다.

데이터 저장을 위해 SQLite DB를 사용하고 있으며 랩톱에 첫 번째 버전을 설치하기 전까지 모든 것이 잘되었습니다. 팔! 앱이 예상대로 작동하지 않았습니다. 나는 비록 나가 admin 사용자 이었더라도 앱이 DB에 글을 쓸 수 없다는 것을 발견했다.

참고 : 로그인 한 사용자에게 관리자 권한이 있어도 프로세스 (드라이브간에 붙여 넣기조차도 복사)에 관리자 권한이 필요한 경우 확인 메시지가 표시됩니다. 이것이 새로운 것인지 확실하지 않습니다. 이것이 낡은 것이라면 무시하십시오.

"관리자 권한으로 실행"으로 앱을 실행하면 정상적으로 작동합니다.

app.manifest 파일의 설정은 다음과 같습니다. 나는 "requireAdministrator"는 관리자 previleages을 해달라고 일반 사용자에 영향을 미칠하기 위해 설정을 변경하면

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

나는 나는 다음과 같은

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
<requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 

내 질문 중 하나에 변경할 수 이해?

DB를 일반 사용자에게 쓰기 가능하게 만들려면 어떻게합니까?

이 설정은 Windows XP 사용자에게 어떤 영향을 미칩니 까?

모든 사람이 문제없이 DB를 업데이트 할 수 있도록 최선의 구성은 무엇입니까?

보안과 관련하여 처음으로 이러한 문제가 발생했습니다. 어떤 조언?

참고 : 가능한 모든 OS에서이 앱을 테스트 할 예정입니다. 저는 Vista 32 비트 OS (관리자)에서 테스트를 실시했는데 정상적으로 작동했습니다. 그러나 Windows 7에 대한 나의 경험은 나를 혼란스럽게 만들었습니다.

+1

어디에서 데이터베이스를 저장하고 어떻게 만드나요? 우리는 비슷한 시나리오를 가지고 있으며 Windows 7에서 정상적으로 작동합니다. 일반 사용자가 쓸 수있는 위치 (예 : Application Data 폴더)에 데이터베이스 파일을 배치하면됩니다. –

+0

지금은 응용 프로그램이있는 동일한 폴더에 DB를 넣었습니다. – Shoban

+0

그건 당신 문제입니다.사용자에게는 응용 프로그램이있는 폴더에 대한 쓰기 권한이 없습니다. 경로를 검색하려면 CSIDL_APPDATA 지정 ShGetFolderPath (http://msdn.microsoft.com/en-us/library/bb762181(VS.85) .aspx)를 사용하십시오. –

답변

3
  1. 예, 일반 사용자는 관리자 자격 증명을 제공해야합니다.
  2. DB를 사용자가 쓸 수있는 위치에 설치하거나 서비스/IPC를 사용하여 DB에 작성하십시오.
  3. 가능하면 사용자 별 데이터베이스. AppData와 같이 사용자가 작성할 수있는 위치에 사용자 별 항목을 저장할 수 있습니다. 그렇지 않다면 서비스/IPC를 사용하여 글을 쓰십시오.
0

가장 좋은 방법은 대상 OS가 설치된 상태에서 가상 컴퓨터를 설치하는 것입니다. 당신은 시험 할 때까지 어떤 일이 일어날 지 결코 알지 못합니다.

+0

예, 친구의 Vista 32 비트 OS로 테스트 한 결과 정상적으로 작동했습니다. 그러나 Windows 7에 대한 나의 경험은 나를 혼란스럽게 만들었습니다. – Shoban

관련 문제