2013-07-05 2 views
3

x86 아키텍처 플랫폼 (win32)이 64 비트 및 32 비트 시스템에서 작동하기 위해 오래 전에 빌드 된 C# 프로젝트의 매니페스트를 수정합니다. 여기 다중 플랫폼 환경에 대한 선언문

원래 매니페스트 파일입니다

<?xml version="1.0" encoding="utf-8"?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <assemblyIdentity version="1.0.0.0" name="app.exe" processorArchitecture="X86" type="win32"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</asmv1:assembly> 

내가 찾을 수 없습니다 어떤 방법 X86 및 X64 (Win32 및 Win64를) 모두 processorArchitecture 및 유형 필드에서 작동하도록하는 것입니다?

답변

4

당신은 모든 아키텍처에 대한 지원을 나타 내기 위해

processorArchitecture="*" 

를 사용할 수 있습니다.

응용 프로그램이 32 비트 응용 프로그램은 다음는 아래의 32 비트 프로세스로 실행되기 때문에 64 비트 시스템에 잘 될 것 같은 매니페스트 과정으로

processorArchitecture="x86" 

를 사용할 수있는 경우 WOW64 에뮬레이터. 64에서 실행되는 64 비트 응용 프로그램에 대한

당신이

processorArchitecture="amd64" 

을 사용 그리고 마지막으로, 64 비트 아이테니엄의 값이 type 속성에 대한

processorArchitecture="ia64" 

이며, 값은 항상 type="win32"입니다. (틀림없이 조금 스파 스)

문서는 여기에 있습니다 : 그것은 가치가 당신이 무엇을 변경해야하는 것처럼, 그것은 나에게하지 않는 것 http://msdn.microsoft.com/en-us/library/windows/desktop/aa374191.aspx

하십시오. processorArchitecture="x86" 매니페스트로 빌드 된 32 비트 실행 파일이있는 경우 해당 실행 파일은 32 비트 및 64 비트 시스템에 대해 완벽하게 구성되어 있습니다. 프로세스를 실행하는 시스템의 아키텍처가 아니라 여기에서 중요한 프로세스의 아키텍처임을 기억하십시오. 32 비트 실행 파일은 64 비트 시스템에서도 32 비트 프로세스로 실행됩니다.

+0

그리고 "type"필드 (즉, 32 비트에 대해 "type ="win32 ")가있는 것은 무엇입니까? – sonne

+0

'type' 필드는 항상 "win32"입니다. –

+0

@ARSL'type'은 항상 win32 여야합니다. – vcsjones