
%localappdata% 폴더(하위 폴더에 있음)에 있는 앱이 사용자를 위해 설치될 때 Windows 시작 시 실행되도록 만들고 싶습니다. 키 아래에 문자열 값을 생성 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
하고 로 설정하면 그렇게 할 수 있습니다 C:\Users\my_user\AppData\Local\programs\My_App\My_App.exe" --app_id=12346
.
그러나 나는 여기에 내 사용자에 대한 직접적인 참조를 넣고 싶지 않습니다. 그래서 를 넣는 대신 String 값에 C:\Users\my_user\AppData\Local
사용하려고 했더니 .%localappdata%
%localappdata%\programs\My_App\My_App.exe" --app_id=12346
그러나 로컬 앱 데이터 참조를 사용하면 작동하지 않습니다. 앱이 실행되지 않습니다. 레지스트리 키 내에서 %LocalAppData%에 대한 참조를 사용하는 방법이 있는지 궁금합니다. 구문 오류가 있는 것일까요?
도와주실 수 있나요?
내 앱을 호출하고 에 넣기 위해 bat 파일을 만드는 것을 이미 생각했지만 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
모든 사용자에 대해 실행되며 모든 사용자가 내 앱을 설치한다고 보장할 수는 없습니다. 그러니 그건 좋은 선택이 아닐 겁니다.
답변1
이름을 지정 %AppData%
하고 %LocalAppData%
"Data"라는 단어를 포함하여 이러한 디렉터리가 다음과 같은 힌트를 제공합니다.~ 아니다실행 파일을 저장하는 데 사용됩니다. 그러지 마세요.
전체적인 디자인을 바꾸겠습니다.
애플리케이션을 애플리케이션의 표준 위치에 배치합니다.
- 설치 프로그램이 있는 경우
%ProgramFiles%\My_App\
또는%ProgramFiles(x86)%\My_App\
- 만약 그것이 온다면설치 프로그램 없이, 나는 다음과 같은 것을 사용할 것입니다
C:\Tools\My_App\
- 설치 프로그램이 있는 경우
HKCU 레지스트리 하위 트리(개별 사용자용) 또는 HKLM 하위 트리(로컬 시스템 = 모든 사용자용)에 자동 실행 항목을 삽입합니다.
응용 프로그램이 시작되면 사용자 이름, 모든 사용자 디렉터리 경로 등에 대한 전체 액세스 권한을 갖습니다.애플리케이션이 시작된 후에만 사용자 의존적인 작업을 시작하세요.이렇게 하면 더 이상 EXE 파일이나 유사한 마법의 위치에 의존하지 않습니다.
답변2
Windows 10은 %LocalAppData%
해당 항목 Run
과 RunOnce
레지스트리 항목을 이해합니다. GPO에서 성공적으로 사용하고 있습니다.
실행 파일 경로에 공백이 포함되어 있으면 문자열 양쪽 끝에 큰따옴표가 들어가는지 확인하는 것을 잊지 마세요. (비록 4년은 너무 늦었지만, 아마도 당신의 시도가 효과가 없었던 이유 중 하나는 당신이 우리에게 보여준 내용에 한 쌍이 아닌 큰따옴표가 하나만 있기 때문일 것입니다.)