2014-02-11 12 views
2

[이 질문을 2 개월 전에 제출했는데 답장을받지 못했습니다 ... 그리고 분명히 문제가 여전히 생겨서 우리 앱의 새 버전을 출시하려고합니다. 이제 사용자를 확보하기위한 문서를 작성하고 있습니다. 가상 저장소의 항목을 삭제하려면 - 내가하고 싶지 않은 것 .... 그래서 지금 정말로 누군가가 우리를 도울 수 있기를 바란다. ]Virtual Store/ProgramData에 저장된 파일을 중지하는 방법은 무엇입니까?

이 주제와 관련하여 많은 정보가 있지만 나는 아직도 성가신 문제가 있으며 어디로 갈 지 확신하지 못하고 있습니다.

우리는 이제 ProgramData 아래의 폴더에 REPORT 파일을 설치하는 앱 (VB.NET)을 보유하고 있습니다. 이제 우리의 앱 dll은 타사 앱에서 실행되며 (분명히 제어 할 수 없음)이 타사 앱을 사용하면 사람들이 보고서를 실행할 수 있습니다. 보고서가 실행되면 보고서가 업데이트되어 "마지막 실행 날짜"가 저장됩니다. 이것은 우리에게 우리가 갖는 재미를 일으키는 원인입니다.

UAC를 사용하면 보고서 파일이 가상 저장소의 해당 위치에 복사됩니다. 물론 현재 버전의 앱을 사용하는 동안은 괜찮습니다.하지만 수정 된 보고서를 사용하여 새 버전을 출시하면 이러한 새 버전이 ProgramData에 올바르게 설치되지만 사용자가 앱을 실행하면 볼 수 있습니다. 가상 저장소에서 오래된 보고서.

우리는 새 버전을 설치하기 전에 가상 저장소에서 보고서를 삭제하도록 포크에게 알려주는 설치 문서를 작성하는 것에 매우 가깝습니다.

타사 앱은 ProgramData 아래의 다른 위치에 자체 보고서를 설치하며 Virtual Store가 실행되지 않아도 보고서를 업데이트 할 수 있으므로 가능한 경우 알 수 있습니다.

난 그냥 우리의 DLL에 매니페스트를 추가 한 :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="asInvoker" uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
    </assembly> 

그 치료 될 희망하지만 슬프 도다!

여러분의 민원에 대해 제안 할만한 사항이 있습니까?

건배,

크리스.

답변

0

VirtualStore는 사용자가 요청한 프로그램 폴더에 쓸 수있는 권한이 없을 때 사용됩니다. 따라서 가장 간단한 해결책은 사용자에게 권한을 부여하는 것입니다. 실제로, 나는 약간의 보안이 남아 있도록 사용자 그룹을 사용하기를 좋아한다.

시스템 도구> 로컬 사용자 및 그룹> 그룹, "새 그룹"을 만들고 "XYZCompanyUsers"라고 말하십시오. Windows 탐색기> 프로그램 파일 (x86)> XYZCompany, "속성" "보안" 이제 새 그룹 "XYZCompanyUsers"를 추가하고 모든 권한을 부여하십시오.