包含.NET构造器节点的LabVIEW可执行程序启动很慢
主要软件:
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: N/A
问题: 我在LabVIEW中创建了一个可执行程序。当我启动这个可执行程序时,启动时间很长。我该怎样做来解决这个问题?
解答: 当使用任何经过代码签名认证的.NET 1.1和2.0程序集时,就会出现这个问题,这是由.NET通用语言运行时(CLR)用来验证代码签名认证程序集的机制所导致的。部分验证过程需要在线验证,通过下载一个证书吊销列表(CRL)来实现。执行这个验证可以保证已经签名的应用无法由不可用的证书来认证。
Windows需要15秒钟时间来下载验证程序集可靠性所需的文件。当Windows无法找到这些所需的文件时,就会产生这15秒钟的延时。这是由微软设置的,如果需要更细节的解释,请参阅
KnowledgeBase 3HQAOI5B: Measurement Studio .NET Assemblies Take More Than 10 Seconds to Load at Run Time。
尽管如此,还是有两种可能的变通方案来解决这个问题。第一种方案有两个主要步骤,并且对于Windows XP和以后版本应当都是可行的。第二种方案需要创建一个配置文件来禁用在线验证。
第一种变通方案:步骤A:编辑注册表
- 进入Start»Run...,输入regedit,启动注册表编辑器。
- 在路径
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing中查找键值。
- 编辑State键值,将0x00023c00替换为0x00023e00。
步骤B:编辑组策略
- 进入Start»Run...,输入
gpedit.msc。
- 浏览至Computer Configuration»Administrative Templates»System»Internet Communication Management»Internet Communication Settings.
- 在此设置下,双击Turn Off Automatic Root Certificates Update来启用该项。
- 启动命令行,输入gpupdate /force。
第二种变通方案:步骤A:创建一个包含可用符号的配置文件
- 在LabVIEW目录中创建一个新的文本文件。通常这个目录为如下格式:C:\Program Files\National Instruments\LabVIEW 2011\。
- 在文件中添加如下符号:Add the following token to the file:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
- 将该文本文件保存为LabVIEW.exe.config。
更多关于这些符号的信息可以在下面相关链接部分给出的微软MSDN中找到。一般建议来说,这种符号配置文件只在没有网络连接的情况下使用,因为这么做会执行证书被吊销的程序集。
相关链接: KnowledgeBase 3HQAOI5B: Measurement Studio .NET Assemblies Take More than 10 Seconds to Load at Run-TimeMSDN Reference: <generatePublisherEvidence> Element
附件:
报告日期: 11/12/2010
最近更新: 03/24/2013
文档编号: 5FBFOGGL
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.