使用WiX部署Measurement Studio应用程序



主要软件: Measurement Studio>>Measurement Studio for .NET Support
主要软件版本: 1.0 1.0.2 2.1 2014 2.2.1 1.2 3.0 1.1 2009 5.1f1 5.0 8.5.1 6.0.2 2013 8.5 2.5 2011 f1 2.0.1 3.1 2.0 2015 1.1.1 2.2 1.0.1 2010 SP1 8.0 2.6 1.6 1.1.2 2.1.0 1.6.3 2.0.2 2.7 15.0 1.37.5 3.3.5 15.5 1.01 2012.07.16.15 2016 1.1.5
主要软件修正版本: N/A
次要软件: N/A

问题: 我创建了一个.NET应用程序,它使用Measurement Studio库或用户界面控件,并且我想将我的应用程序部署到另一台机器。我需要做什么?

解答:

对于使用Measurement Studio库在目标计算机上正常运行的.NET应用程序,目标计算机必须包含这些Measurement Studio库。除了程序集和库,Measurement Studio还提供一组可重新分发的合并模块,以便使用合并工具合并到安装包中。

如果您没有Measurement Studio安装程序生成器授权,NI建议使用Windows Installer XML (WiX) toolset创建安装程序。 WiX工具集是一组用于构建Windows安装包的开源工具,它集成到Visual Studio中。 Measurement Studio 2013附带一个使用WiX创建的示例,您可以修改此示例为应用程序创建安装程序。

Note:如果您使用的是包含Measurement Studio安装程序生成器的Measurement Studio版本,请参阅White Paper: Getting Started with Measurement Studio Installer Builder,来了解部署应用程序的推荐方法。如果在Visual Studio 2010或更早版本中使用Measurement Studio,请参阅 KnowledgeBase 341AEOW3: Deploying Measurement Studio Applications in Microsoft Visual Studio 2010 and Earlier来了解有关部署应用程序的说明。

完成以下步骤在Visual Studio 2012或更高版本中构建安装包:
  1. http://wixtoolset.org/安装最新版本的WiX
  2. 在NI社区下载WiX范例工程NI Community: Updated WiX Installer Example for Measurement Studio Applications并保存。此实例项目是Measurement Studio 附带的实例的扩展,包含用于发布NI驱动程序合并模块的WiX代码。
  3. 从下载的项目目录中打开All Libraries.2012.sln.
  4. 将解决方案中的示例项目替换为要部署的项目:
    1. 在解决方案资源管理器中,右键单击ExampleApplication 项目,然后选择Remove以删除示例项目。
    2. 在解决方案资源管理器中,右键单击Solution 'All Libraries.2012'然后选择Add»Existing Project.
    3. 使用文件浏览器,导航到要部署的项目,然后单击Add将其添加到解决方案。
    4. 将项目添加到安装项目中的引用:
      1. 右键单击References(位于解决方案资源管理器中的设置项目),选择Add Reference.
      2. Projects选项卡中,选择您的项目。单击添加,然后单击 Add,点击OK.

  1. 将项目添加为安装项目的依赖项。这确保了构建顺序。
    1. 右键单击Setup并选择Project Dependencies.
    2. 从“项目”下拉菜单中选择Setup
    3. 选中要部署的项目名称旁的框。

  1. 从安装项目打开 Product.wxs。需要更改的大多数在注释中标记为TODO:
    提示:在Visual Studio中从Tools»Options启用行号。参考 How to: Display Line Numbers in the Editor.
  2. 在18行附近的注释:

    TODO: Replace the values for the following properties with your own.

    这些行定义了表示有关您要部署的应用程序的基本信息的变量,例如应用程序名称。 Company_NameApplication_Name 确定应用程序安装到的目录的名称。例如,如果不更改默认值,应用程序目录将类似于C:\Program Files\Example Company Name\Example Application Name\.
  3. 26行附近的注释:

    TODO: Generate GUIDs for the properties below.

    GUID是全局唯一的标识符,由Windows用于标识已安装应用程序。您将需要为六个Your GUID here组件生成GUID。
    1. 导航到Tools»Create GUID以启动创建GUID工具。
    1. 选择Registry Format
    2. 单击New GUID. Create GUID窗口Result下的字母数字代码应更改为新的数字。
    3. 单击Copy将GUID复制到剪贴板上。
    4. 在编辑器中,右键单击并选择Paste或按 <Ctrl-V> 以粘贴新GUID并替换之前的 Your GUID here.
    5. 重复步骤8.a到8.e,为您的六个 Your GUID Here条目的每一个创建GUID。完成后,代码应类似于以下屏幕截图,但具有不同的GUID。
  1. 在96行,更改FileNameSource属性为:$(var.ProjectToDeploy.TargetFileName)$(var.ProjectToDeploy.TargetPath),其中ProjectToDeploy是添加到解决方案中的项目名称。
  2. 在第103行附近, 将ShortcutName属性更改为应用程序的名称。此文本将在Windows开始菜单中显示的应用程序的名称。
  3. 在115行附近的注释:

    TODO: Uncomment feature groups that represent the dependencies of the application you are installing.

    Feature元素包含对您项目可能使用的不同功能组的引用。这些行确保每个组件的正确合并模块都包含在安装程序中。取消注释FeatureGroupRef元素,其中包括要部署的项目所需的组件,并考虑以下事项:
    • MStudioCommon45_MergeModules 取消注释,因为它包含所有其他Measurement Studio组件所需的合并模块。
    • 如果应用程序具有带有Measurement Studio控件的用户界面,取消注释UIShared45_MergeModules行。同时取消注释以下三个功能组之一:UIWinForms45_MergeModules, WPF45_MergeModules,或UIWebForms45_MergeModules,这取决于您的用户界面是基于Windows窗体,WPF或Web窗体。
    • 您可以通过在解决方案资源管理器中展开项目下的References检查项目需要哪些附加功能组。例如,如果您的项目引用了 NationalInstruments.Tdms,应取消注释<FeatureGroupRef Id="Tdms45_MergeModules"/>.
    提示:要取消注释XML中的代码,请从代码行中删除<!---->。您还可以使用键盘快捷键 <Ctrl-K>, <Ctrl-U>, 取消对Visual Studio中的一行的注释,并使用<Ctrl-K>, <Ctrl-C> 注释掉一行。
  4. 保存并关闭Product.wxs.
  5. 在解决方案资源管理器中的Setup项目下,展开Lang文件夹并打开文件en-us.wxl
  6. StringProduct_NameProduct_Description元素内容替换为您的产品的名称和产品描述。这些字符串显示在安装向导中,该向导在安装应用程序时显示;此外,安装程序文件的 .msi属性中也包含这些字符串。
  7. 右键单击安装项目并导航到Properties。在Tool Settings选项卡上,确保选中Suppress ICE validation。 如果 Internal Consistency Evaluator (ICE) 错误未被抑制,NI合并模块将导致构建错误和警告。
  8. 在解决方案资源管理器中右键单击安装程序项目,然后选择Build。这将构建两个项目并创建安装程序。
  9. Setup.msi复制到目标计算机并运行它以安装应用程序。如果您的项目配置为调试模式,构建安装程序也将生成 .wixpdb文件。如果需要在目标计算机上调试应用程序,您还需要将Setup.wixpdb复制到目标计算机。
注意: 此示例仅支持针对.NET Framework 4.5 的项目。除了从此项目创建的.msi安装应用程序之外,还需要在目标计算机上安装 .NET Framework 4.5

注意:此项目将程序集部署到目标计算机上的Global Assembly Cache (GAC)

如果您的应用程序使用任何NI软件驱动程序,如NI-DAQmx,NI-VISA或NI-488.2,那么您还需要在目标机器上安装驱动程序。对于某些驱动程序,如果不想安装完整驱动程序,则可以安装运行时引擎。例如,您可以从ni.com/downloads下载NI-DAQmx运行时引擎。搜索并安装与您的开发计算机上安装的版本相匹配的版本。


相关链接: KnowledgeBase 341AEOW3: Deploying Measurement Studio Applications in Microsoft Visual Studio 2010 and Earlier
White Paper: Getting Started with Measurement Studio Installer Builder
NI Community: Updated WiX Installer Example for Measurement Studio Applications
External Link: Windows Installer XML (WiX) toolset
External Link: How to: Display Line Numbers in the Editor
External Link: Internal Consistency Evaluators - ICEs
External Link: Download Center: Microsoft .NET Framework 4.5
External Link: Global Assembly Cache (GAC)
Drivers and Updates: NI-DAQmx Run-Time Engine

附件:





报告日期: 03/10/2014
最近更新: 02/21/2017
文档编号: 6J9983DK