`
zheyiw
  • 浏览: 1020406 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Wix制作安装包

    博客分类:
  • C#
Wix 
阅读更多

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Product Id="*" Name="Nuotu" Language="2052" Version="1.0.0.0"
           Manufacturer="Microsoft" UpgradeCode="22cc56cc-63e3-40ce-bd91-4763f7473f6c"
    Codepage="936"  >
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate EmbedCab="yes" />

    <!--net2.0 NETFRAMEWORK20;net3.0 NETFRAMEWORK30 net3.5 NETFRAMEWORK35 net4.0 NETFRAMEWORK40FULL net4.5 NETFRAMEWORK45-->
    <PropertyRef Id="NETFRAMEWORK20" />
    <Condition Message='安装需要Microsoft .NET Framework 2.0,请先安装(dotnetfx20_full_x86_x64.exe)'>
      <![CDATA[Installed OR NETFRAMEWORK20]]>
    </Condition>

   

    <UI>
      <!--所选目录,DIR就是所选目录,名称唯一就行,但是必须大写,否则还是安装在c盘-->
      <Property Id="WIXUI_INSTALLDIR" Value="INSTALL_FOLDER" />

      <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Welcome" />

      <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="完成后启动" />

      <Property Id="WixShellExecTarget" Value="[#NuotuClientRegisterExe]" />

      <!--UI引用-->
      <UIRef Id="WixUI_InstallDir" />
      <!--退出对话框-->
      <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">
        WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed
      </Publish>
    </UI>

    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

   <Feature Id="ProductFeature" Title="Nuotu" Level="1">
      <ComponentRef Id="INSTALL_FOLDER_Component" />
      <ComponentRef Id="INSTALL_FOLDER_Config_Component" />
      <ComponentRef Id="DesktopFolderShortcut" />
      <ComponentRef Id="RegistryEntry" />
      <!--添加组件引用-->
      <ComponentGroupRef Id="ProductComponents" />
    </Feature>
        
  </Product>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <!--安装路径-->
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALL_FOLDER" Name="Nuotu" >
          <Directory Id="INSTALL_FOLDER_Config" Name="Config" />
        </Directory>
      </Directory>

      <!--开始菜单文件夹-->
      <!--
      <Directory Id="ProgramMenuFolder">
        <Directory Id="ProgramMenuDir" Name="Nuoto" />
      </Directory>-->

      <!--桌面-->
      <Directory Id="DesktopFolder" Name="Desktop" />
    </Directory>


    <!--程序目录配置-->
    <DirectoryRef Id="INSTALL_FOLDER">
      <Component Id="INSTALL_FOLDER_Component" Guid="5E254582-DD5F-423D-8333-843457282026">
        <File Id="NuotuClientExe" Source="NuotuClient.exe" />
        <File Id="NuotuClientRegisterExe" Source="NuotuClientRegister.exe" />
        <File Id="NewtonsoftJsonDll" Source="Newtonsoft.Json.dll" />
        <RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION" Name="NuotuClient.exe" Type="integer" Value="11001" KeyPath="yes" />
      </Component>
    </DirectoryRef>
    
     <DirectoryRef Id="INSTALL_FOLDER_Config">
      <Component Id="INSTALL_FOLDER_Config_Component" Guid="5E254582-DD5F-423D-8333-843457282027">
        <File Id="URLTxt" Source="Config/URL.txt" />
        <File Id="ServiceURLTxt" Source="Config/ServiceURL.txt" />
        <File Id="PWTxt" Source="Config/PW.txt" />
      </Component>
    </DirectoryRef>

    <!--桌面快捷键-->
    <DirectoryRef Id="DesktopFolder">
      <Component Id="DesktopFolderShortcut" Guid="5A254682-1D1F-413D-8333-144457282026">
        <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="MyWixDemo" Target="[DIR]NuotuClient.exe"  WorkingDirectory="DIR"
                  Icon="DesktopSeed32x32.ico">
          <Icon Id="DesktopSeed32x32.ico" SourceFile="DesktopSeed32x32.ico" />
        </Shortcut>
        <RegistryValue Root="HKCU" Key="Software\Microsoft\NuotuClient" Name="installed" Type="integer" Value="1" KeyPath="yes" />
      </Component>
    </DirectoryRef>

    <!--修改注册表 -->
    <DirectoryRef Id="TARGETDIR">
      <Component Id="RegistryEntry" Guid="C26D6547-BB6B-49C3-9286-8DCDC1961B3D">
        <RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION">
          <RegistryValue Type="integer" Name="NuotuClient.exe" Value="1" KeyPath="yes" />
        </RegistryKey>
      </Component>
    </DirectoryRef>

  </Fragment>

  <Fragment>

    <!--组件,默认所添加的组件在安装目录-->
    <ComponentGroup Id="ProductComponents" Directory="INSTALL_FOLDER">
      <Component Id='RemoveFiles' Guid='{F341A78A-44EA-40B7-BDFD-5CA09DF7EB3F}' KeyPath='yes'>
        <RemoveFolder Id="INSTALL_FOLDER"  On="uninstall" />
        <RemoveFolder Id="ProgramMenuDir"  On="uninstall" />
      </Component>
    </ComponentGroup>
  </Fragment>
</Wix>

分享到:
评论

相关推荐

    WIX制作C#应用程序安装包

    通过以上步骤,你就能使用WiX成功创建一个C#应用程序的安装包。WiX的强大之处在于其灵活性和可扩展性,能够满足各种复杂的安装需求,无论是简单的桌面应用还是大型的企业级解决方案。不断学习和掌握WiX,将使你能够...

    C#制作安装包的方法

    【C#制作安装包的方法】 在C#中创建安装包是一个必要的步骤,它允许开发者将应用程序打包以便用户能够方便地安装。以下是一个使用Visual Studio 2008进行安装包制作的详细步骤: 1. **创建自定义安装行为类库**: ...

    C#安装包制作的一些方法

    本篇将详细介绍几种常见的C#安装包制作方法。 1. **Windows Installer MSI** Windows Installer MSI是一种由微软提供的标准安装技术,用于构建在Windows平台上运行的应用程序的安装程序。通过Visual Studio,...

    vc制作的安装包程序

    在其他场合,它可能指代一些开源或商业的第三方工具,如WiX Toolkit(Windows Installer XML)或者InstallShield,这些工具可以帮助开发者更加便捷地创建安装包。 总的来说,"vc制作的安装包程序"涉及的知识点包括...

    制作安装包练习.zip (修正)

    2. **打包工具**:为了制作安装包,开发者通常会使用专门的打包工具,如Inno Setup、NSIS (Nullsoft Scriptable Install System)、WiX Toolset等。这些工具提供了自定义安装过程、设置依赖关系、创建快捷方式等功能...

    详细的.Net安装包制作教程

    在制作安装包的过程中,要注意以下几点: - **版本管理**:确保每次更新都对应一个新的版本号,以便用户能够正确识别和升级。 - **错误处理**:考虑各种可能的安装失败情况,并提供清晰的错误提示。 - **兼容性检查...

    安装包制作工具

    在IT行业中,制作安装包是软件发布的重要环节。安装包是一种包含了软件运行所需所有组件的集合,用户可以通过简单的步骤在计算机上安装和卸载应用程序。本文将深入探讨“安装包制作工具”及其相关知识点,主要关注...

    安装包制作方法及程序

    在IT行业中,制作安装包是一项基础但至关重要的技能,它涉及到软件部署、分发和管理。本篇文章将详细讲解安装包的制作方法,包括从零开始的理解安装包的基本概念,到选择合适的工具,以及实际操作步骤,帮助你掌握这...

    安装包制作大全

    在IT行业中,制作安装包是软件发布的重要环节,它使得用户能够方便地下载和安装程序。本篇文章将深入探讨安装包制作的相关知识点,包括安装包的类型、制作工具、流程及注意事项,帮助你掌握全面的安装包制作技术。 ...

    制作产品的安装包

    制作安装包的目的是为了让用户能够方便地下载和安装产品,而无需手动处理复杂的依赖关系和文件配置。 在"源码"层面,如果你的产品是基于源代码构建的,那么你需要经历编译和打包的过程。对于C++项目,这可能包括...

    软件安装包制作方法

    2. **WiX Toolset**:开源的XML-based工具集,适用于创建 MSI(Microsoft Installer)安装包。 3. **NSIS (Nullsoft Scriptable Install System)**:免费且易于使用的脚本编译器,适用于快速制作简单的安装包。 4....

    Revit二次开发安装包制作Demo

    5. **安装脚本**:制作安装包通常需要安装脚本来自动完成文件复制、注册COM组件、创建快捷方式等步骤。这可能是用Inno Setup、WiX或其他安装制作工具编写的。 6. **示例模型**:可能包含Revit模型文件,用于演示...

    Wix tools set

    WiX(Windows Installer XML)工具集是一个开源项目,专门用于创建Windows安装程序。这个工具集提供了构建 MSI...而提供的wix310.exe文件则意味着我们可以获取并安装这个版本的WiX工具集,开始我们的安装包制作之旅。

    安装包制作工具.rar

    2. **打包工具选择**:市面上有许多安装包制作工具,如Inno Setup、NSIS (Nullsoft Scriptable Install System)、Advanced Installer、WiX Toolset等。这些工具提供了脚本语言或图形界面,用于定义安装过程中的行为...

    asp.Net Web项目安装包制作

    ASP.NET Web项目的安装包制作是将开发完成的Web应用程序打包成易于部署的形式,以便在不同的服务器上快速安装和运行。这个过程涉及到多个步骤,包括构建、发布、打包和配置。以下将详细介绍这些步骤: 1. **项目...

    Wix工具集,良好的支持vs 2017制作安装程序的工具

    在这种情况下,.exe安装包,.msi安装包,.msm合并模块和.msp补丁。WiX命令行构建工具适用于任何自动构建系统。此外,命令行,Visual Studio和Team Build支持MSBuild。 WiX包含几个扩展,提供超出Windows Installer...

    VS2017安装包制作插件

    VS2017安装包制作插件是一种工具,它能够帮助开发者轻松地创建、定制和打包Visual Studio 2017的安装程序。这个插件通常包含一系列功能,旨在简化安装程序的构建过程,使开发者可以自定义安装过程,满足特定项目需求...

    Packt.WiX.A.Developer.Guide.2010

    #### WiX 安装包制作的关键要素 1. **组件定义**:在 WiX 中,每个要安装的文件或注册表项都被视为一个组件。组件的定义包括文件路径、属性等。 2. **依赖关系管理**:安装程序可能需要依赖其他组件才能正常运行。...

    制作.NET Framework 离线安装包时需要用到

    在创建.NET Framework离线安装包时,可能需要结合Visual Studio的安装媒体或者利用微软的部署工具,如Windows Installer XML (WiX) 或 Microsoft Deployment Toolkit (MDT),来提取和打包所需的组件。 制作离线...

Global site tag (gtag.js) - Google Analytics