0

Windows 바탕 화면 용 vb.net Visual Studio 2008을 사용하여 셰어웨어 응용 프로그램을 만들고 innosetup 5.3.8을 사용하여 패키지했습니다. 문제는 내가 C : \ Program Files \ Application에 응용 프로그램을 설치하고 응용 프로그램의 시험 사용 기간을 사용하여 성공적으로 실행될 때입니다. 다른 위치에 설치하여 동일한 설정으로 응용 프로그램을 다시 한 번 설치할 수 있습니다. 예 : C : \ Program Files \ Application new. C : \ Program Files \ Application new의 응용 프로그램에는 이미 설치된 응용 프로그램의 설정이 없습니다.셰어웨어 vb.net 응용 프로그램은 다른 디렉토리에 설치된 innosetup을 사용하여 포장되어 다른 응용 프로그램 집합을 만듭니다.

어디서 잘못 됐습니까? 내 응용 프로그램 (vb.net) 또는 innosetup에서 이것을 처리해야합니까? innosetup에서 이미 설치된 경로를 돌보는 방법 또는 이전에 설치된 응용 프로그램의 설정을 새로 설치 한 경로로 옮기는 방법.

응용 프로그램이 관리 권한을 필요로하지 않기 때문에 레지스트리에 어떤 것을 쓰려고하지 않습니다. 동일한 경로에 응용 프로그램을 설치하면 이전 설정이이 새로운 응용 프로그램에 적용되어 업데이트되고 정상적으로 작동합니다 .

답변

1

Windows 응용 프로그램은 보통 HKEY_CURRENT_USER\Software\YourCompany\YourApp 또는 %APPDATA%\YourCompany\YourApp 아래의 파일로 레지스트리에 설정을 저장합니다. 두 위치 모두 관리자 권한없이 쓸 수 있으며 두 위치는 모두 사용자별로 다릅니다. 즉, 두 명의 사용자가 동일한 컴퓨터를 사용하는 경우 둘 다 다른 사용자에게 영향을주지 않고 자신의 설정으로 응용 프로그램을 사용할 수 있습니다.

c:\Program Files에 절대로 설정을 저장하지 마십시오. Program Files 폴더에 쓰기 위해서는 관리자 권한이 필요합니다. 응용 프로그램에 매니페스트가 없으면 프로그램 파일에 쓰기가 작동하는 것처럼 보일 수 있습니다. 실제로 일어나고있는 것은 Program Files 폴더에 쓰고있는 파일들이 VirtualStore로 다시 라우팅된다는 것입니다. 시스템 관리자가 VirtualStore를 비활성화하지 않은 한. 그러면 응용 프로그램이 실패합니다.

응용 프로그램을 강력하게 만들려면 설정을 HKEY_CURRENT_USER\Software\YourCompany\YourApp 및/또는 %APPDATA%\YourCompany\YourApp으로 저장해야합니다. 이 위치에 이전에 저장된 설정이없는 경우 응용 프로그램은 기본 설정을 사용해야합니다.

+0

정보 jan을 주셔서 감사합니다. 하지만 내 문제는 사용자가 다른 폴더에 응용 프로그램을 설치하여 응용 프로그램을 설치하고 응용 프로그램의 평가판을 사용할 수 있다는 것입니다. – Naresh

+0

앞서 언급 한 레지스트리 또는 % APPDATA % 폴더를 사용하는 경우 응용 프로그램은 설치된 폴더에 관계없이 항상 같은 위치에 설정을 저장합니다. 시험 사용 기간도 저장하십시오. –

+0

또한 누군가 질문에 대한 답이 좋으면 그 옆에있는 눈금 기호를 눌러 답변을 수락 된 것으로 표시해야합니다. 지금까지 답을 얻은 5 가지 질문을했지만 아직 답변을받지 못했습니다. –