반응형
출처:http://www.indidev.net/forum/viewtopic.php?f=5&t=78
좋은 정보 감사합니다.!!!^^
windows 7 의 경우 설치파일을 만들어서 설치후 프로세스가 종료되면
이런 메시지가 출력되는 경우가 있습니다.
Cap 2011-02-22 14-55-07-941.png [ 41.39 KiB | Viewed 2630 times ]
windows 7 부터 (아마도 vista 에는 없었던걸로 기억하는데 정확하지는 않음) manifest 에
지원 os 목록에 현재 os 가 없을때 발생시키는 메시지 인데, 해결책은 다음과 같습니다.
1. nsis 로 패키징한 파일에 저 메시지가 나올 경우 : nsis 를 최신버전으로 바꿉니다. 최신버전에는
manifest 에 해당 항목이 있기 때문에 저 메시지가 나오지 않습니다.
2. 직접 만든 setup 파일에서 저 메시지가 나올 경우
(이 경우는 파일명에 setup 과 같은 문자열이 포함된 경우에만 발생합니다.)
manifest 에 supportedOS 항목을 추가합니다. (자세한 사항은 http://msdn.microsoft.com/en-us/library ... 11(v=vs.85).aspx 참고 )
아래와 같은 manifest 파일을 만들고
프로젝트 설정을 아래처럼 해주면 됩니다.
Cap 2011-02-22 15-16-46-452.png [ 30.29 KiB | Viewed 2627 times ]
이런 메시지가 출력되는 경우가 있습니다.
Attachment:
Cap 2011-02-22 14-55-07-941.png [ 41.39 KiB | Viewed 2630 times ]
windows 7 부터 (아마도 vista 에는 없었던걸로 기억하는데 정확하지는 않음) manifest 에
지원 os 목록에 현재 os 가 없을때 발생시키는 메시지 인데, 해결책은 다음과 같습니다.
1. nsis 로 패키징한 파일에 저 메시지가 나올 경우 : nsis 를 최신버전으로 바꿉니다. 최신버전에는
manifest 에 해당 항목이 있기 때문에 저 메시지가 나오지 않습니다.
2. 직접 만든 setup 파일에서 저 메시지가 나올 경우
(이 경우는 파일명에 setup 과 같은 문자열이 포함된 경우에만 발생합니다.)
manifest 에 supportedOS 항목을 추가합니다. (자세한 사항은 http://msdn.microsoft.com/en-us/library ... 11(v=vs.85).aspx 참고 )
아래와 같은 manifest 파일을 만들고
Code:
<?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.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>
</assembly>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>
</assembly>
프로젝트 설정을 아래처럼 해주면 됩니다.
Attachment:
Cap 2011-02-22 15-16-46-452.png [ 30.29 KiB | Viewed 2627 times ]
참고로 저 메시지는 한번만 나오기 때문에 테스트 하려면 매번 파일명을 바꾸면서( setup.exe -> __setup.exe -> ___setup.exe ... ) 테스트 해야 할껍니다.
반응형
'Study > Etc' 카테고리의 다른 글
메모리릭 처리, 특정 변수 변경 감지! (0) | 2014.10.03 |
---|---|
비쥬얼 스튜디오 빌드 명령 또는 매크로($(SolutionDir), $(ProjectFileName)..등) (0) | 2014.09.13 |
Microsoft Windows SDK for Windows 7 and .NET Framework 4 fails to install (0) | 2014.09.11 |
F12 정의 이동이 안되는 경우! [c, c++, mfc] intellisense 이상할 때 (0) | 2014.06.24 |
cmd 에서 레지스트리 명령어 (0) | 2013.11.04 |
댓글