在Windows Vista或更高操作系统上部署LabVIEW应用程序
- 更新时间2025-08-27
- 阅读时长6分钟
基于Windows Vista上述安全问题的改变,故在Windows Vista或更高版本操作系统上使用LabVIEW应用程序生成器时应注意以下两点。
关于Windows Vista及更高版本操作系统上LabVIEW应用程序生成器的最新信息,请参考LabVIEW生成的应用程序中的用户帐户控制、数字签名和manifest。
应用程序清单
LabVIEW在每个独立的应用程序和安装程序中都嵌入一个应用程序清单。因为每个应用程序中均嵌入了程序清单,在清单出现在应用程序所在的目录中之前,用户必须先获得清单。程序清单是扩展名为.manifest的XML文件。清单中包括向Windows描述应用程序属性的信息。清单是Windows的新增特性,清单安全性也是一个全新的功能。用户可以在清单中为Windows Vista或更高版本操作系统上的应用程序指定要求的执行级别。
指定应用程序的执行级别决定了打开一个应用程序时所要求的安全权限。指定应用程序的执行级别,该执行级别将决定在运行应用程序前弹出对话框要求用户输入管理员认可或管理员密码。需管理员权限的应用程序的图标上有一个安全盾标。以管理员或标准用户运行应用程序时才决定该应用程序的属性,包括应用程序可以进行写操作的目录。如以标准用户打开一个应用程序,该程序不能写入受保护的目录和注册表。例如,Windows Vista或更高版本操作系统的Program Files目录就是一个受保护的目录。
微软建议运行应用程序时不要求管理员权限。因此,用户应设计不访问操作系统受保护区域的应用程序。不需管理员权限的应用程序可为所有用户提供使用机会。
下列代码是独立应用程序的清单范例。
<?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安全页,在独立应用程序或安装程序上签名,以减少运行这些程序时产生的对话框。
对应用程序和安装程序签名需要下列工具:
- 签名证书 - 可从某些供应商处购买签名证书,例如Versign。只有公司和组织才可购买签名证书,个人不能购买签名证书。签名证书必须是PFX格式的文件。
- 签名工具 - Windows Driver Kit中包括该签名工具。签名工具用于应用数字签名。
要对一个独立应用程序签名,只需对.exe文件签名即可。要对LabVIEW生成的应用程序签名,只需对install.exe文件签名即可。独立应用程序和安装程序的其他文件都无需签名。数字签名涉及获取数字证书的第三方提供商,不存在签名代码的步骤。