Windows Vista 및 이후 버전 OS에서 LabVIEW 어플리케이션 배포하기
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
Windows Vista의 보안 변경 사항 때문에, Windows Vista 또는 이후 버전에서 LabVIEW 어플리케이션 빌더를 사용할 때에는 다음의 두 가지 문제를 고려해야 합니다:
- LabVIEW는 모든 독립 어플리케이션과 설치 프로그램에 어플리케이션 매니페스트를 내장합니다.
- 독립 어플리케이션과 독립 어플리케이션용 설치 프로그램은 서명되어 있지 않습니다.
Windows Vista 및 이후 버전의 LabVIEW 어플리케이션 빌더에 대한 최신 정보는 이 도움말 토픽 외에 User Account Control, Digital Signing, and Manifests in LabVIEW Built Applications를 참조할 수 있습니다.
어플리케이션 매니페스트
LabVIEW는 모든 독립 어플리케이션과 설치 프로그램에 어플리케이션 매니페스트를 내장합니다. 매니페스트가 어플리케이션에 임베드되어 있으므로, 매니페스트가 어플리케이션의 디렉토리에서 나타나려면 먼저 매니페스트를 검색해야 합니다. 매니페스트는 확장명이 .manifest인 XML 파일입니다. 매니페스트는 Windows에 대한 어플리케이션의 프로퍼티 정보를 포함합니다. 기존의 Windows에도 매니페스트는 있었지만 매니페스트의 보안 섹션은 새로이 추가된 기능입니다. 이제 Windows Vista 또는 이후 버전에서 배포한 어플리케이션에 대해 필요한 실행 레벨을 매니페스트에서 지정할 수 있습니다.
어플리케이션의 실행 레벨을 지정하면 어플리케이션을 시작할 때 필요한 보안 권한이 결정됩니다. 지정한 실행 레벨에 따라 실행에 앞서 어플리케이션이 관리자에게 동의할 것을 요청하는 대화 상자를 디스플레이하거나 관리자 암호 입력을 요청하는 대화 상자를 디스플레이합니다. 관리자 권한이 필요한 어플리케이션은 어플리케이션 아이콘에 보안 쉴드 오버레이가 있습니다. 어플리케이션이 관리자로 실행되는지 또는 표준 사용자로 실행되는지 여부에 따라 어플리케이션이 쓰일 디렉토리와 같은 여러가지 어플리케이션의 프로퍼티가 결정됩니다. 표준 사용자로 어플리케이션을 시작할 경우, 어플리케이션은 보호된 디렉토리와 레지스터에 쓸 수 없습니다. Windows Vista 및 이후 버전에서 보호된 디렉토리의 예로는 프로그램 파일 디렉토리가 있습니다.
Microsoft는 어플리케이션을 표준 사용자 권한에서 실행하기를 권장합니다. 이런 경우, 어플리케이션이 OS의 보호된 영역을 사용하지 않도록 설계해야 합니다. 관리자 권한이 아닌 상태에서 실행하면 모든 사용자가 원하는 대로 어플리케이션을 실행할 수 있습니다.
다음 코드는 독립 어플리케이션에 대한 예제 매니페스트입니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="National Instruments.LabVIEW.LabVIEW "
type="win32"/>
<description> LabVIEW Development System </description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
독립 어플리케이션에서 요청되는 실행 레벨은 다음 중에서 어떤 값도 될 수 있습니다:
- asInvoker―(기본) 독립 어플리케이션이 사용자(표준 또는 관리자)와 동일한 접근 권한으로 실행됩니다. 어플리케이션은 실행전 사용자에게 동의를 요청하는 대화 상자를 디스플레이하지 않습니다. 어플리케이션이 표준 사용자로 실행되는 경우, 어플리케이션은 보호된 디렉토리에 쓸 수 없습니다. 어플리케이션이 관리자로 실행되는 경우, 어플리케이션은 보호된 디렉토리에 쓸 수 있습니다.
- highestAvailable―독립 어플리케이션이 가장 높은 접근 권한에서 실행됩니다. 사용자에게 표준 사용자 권한만이 있는 경우, 어플리케이션은 사용자에게 동의를 요청하는 대화 상자를 디스플레이하지 않지만 보호된 디렉토리에도 쓸 수 없습니다. 사용자에게 관리자 권한이 있는 경우, 어플리케이션은 사용자에게 동의를 요청하거나 또는 관리자 암호를 입력하라는 대화 상자를 디스플레이하며 보호된 디렉토리에도 쓸 수 있습니다.
- requireAdministrator―독립 어플리케이션이 관리자 레벨에서 실행됩니다. 사용자에게 표준 사용자 특권만이 있는 경우, 어플리케이션은 관리자 암호 입력을 요청하는 대화 상자를 디스플레이하며 보호된 디렉토리에 쓸 수 있습니다. 사용자에게 관리자 권한이 있는 경우, 어플리케이션은 실행전 사용자에게 동의를 요청하는 대화 상자를 디스플레이합니다. 어플리케이션은 보호된 디렉토리에 쓸 수 있습니다.
LabVIEW 8.2.1 또는 이후 버전에서 독립 어플리케이션을 개발하여 Windows XP 또는 이전 버전에 배포하는 경우, 매니페스트를 포함하고 요청된 실행 레벨이 있는 독립 어플리케이션은 Windows Vista 및 이후 버전에서와는 다르게 동작합니다. Windows XP는 매니페스트의 보안 섹션을 무시합니다.
LabVIEW로 만든 설치 프로그램의 install.exe도 매니페스트를 포함합니다. 필요한 실행 레벨은 기본적으로 requireAdministrator입니다. install.exe가 시스템 레벨 파일, 셋팅, 설정을 업데이트하기 때문에, install.exe의 요청 실행 레벨을 변경해서는 안 됩니다. install.exe의 요청 실행 레벨을 변경하면 설치 프로그램이 제대로 작동하지 않을 수 있습니다.
디지털 서명
디지털 서명을 사용하면 어플리케이션 또는 시작 프로그램 생성자를 확인하고, 어플리케이션이나 설치 프로그램의 설치와 실행이 안전한지 결정할 수 있습니다. Windows Vista 및 이후 버전은 추가적인 레벨의 보안을 제공하므로, 서명되지 않은 어플리케이션이나 설치 프로그램을 설치하거나, 실행할 때 위험성에 대해 경고하는 대화 상자가 나타날 수 있습니다. 기본으로, LabVIEW는 독립 어플리케이션이나 설치 프로그램을 서명하지 않기 때문에 디지털 서명을 사용자 정의할 수 있습니다. 불필요한 대화 상자가 나타나지 않도록, 어플리케이션 프로퍼티 대화 상자의 Windows 보안 페이지나 설치 프로그램 프로퍼티 대화 상자를 Windows 보안 페이지를 사용하여, 빌드 시 독립 어플리케이션과 설치 프로그램을 서명하십시오.
어플리케이션이나 설치 프로그램에 서명하려면 다음의 도구가 필요합니다:
- 서명 확인서―Verisign과 같은 여러 회사에서 서명 확인서(Signing Certificate)를 구매할 수 있습니다. 서명 확인서는 회사나 기관을 위해서만 구입할 수 있습니다. 개인은 서명 확인서를 구매할 수 없습니다. 서명 인증은 반드시 개인 정보 교환(PFX) 파일이어야 합니다.
- 서명 도구―Windows Driver Kit은 서명 도구(Signing Tool)를 포함합니다. 서명 도구를 사용하여 디지털 서명을 적용하십시오.
독립 어플리케이션을 서명하려면, .exe 파일에만 서명하면 됩니다. LabVIEW로 만든 설치 프로그램을 서명하려면, install.exe 파일에만 서명하면 됩니다. 독립 어플리케이션과 설치 프로그램의 경우 다른 파일에 서명할 필요는 없습니다. 디지털 서명을 위해서는 타사(Third-party Provider)에서 디지털 확인을 위한 제품을 구입해야 하지만 코드 서명에 대해서는 구입할 필요가 없습니다.