编程语言
首页 > 编程语言> > C#-WiX安装程序不适用于vs 2012

C#-WiX安装程序不适用于vs 2012

作者:互联网

我想为我的应用程序创建安装程序安装程序.我已经下载了WiX 3.6,并将其安装在vs 2012上.

>创建简单的Winform应用程序
>将WiX设置项目添加到我的解决方案中
>右键单击参考,然后将我的winform应用程序添加到安装程序的参考中
>我构建解决方案,并转到安装项目中的调试目录,然后运行SetupProject1.exe.msi,它不起作用,并关闭安装程序对话框,没有任何错误.

返回设置项目

>右键单击安装项目,然后选择属性
>在安装程序标签上>输出类型,将其更改为executablefile.exe
>构建它并调试并运行SetupProject1.exe-仍然无法正常工作

怎么了?这是我的安装项目product.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="Natiloos" UpgradeCode="cfc2f4dd-2da5-49e2-9099-96968d75aaa4">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

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

    <Feature Id="ProductFeature" Title="SetupProject1" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
    </Feature>
</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="SetupProject1" />
        </Directory>
    </Directory>
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
        <!-- TODO: Remove the comments around this Component element and     the ComponentRef below in order to add resources to this installer. -->
        <!-- <Component Id="ProductComponent"> -->

        <!-- </Component> -->
    </ComponentGroup>
</Fragment>

如何使安装程序正确构建?

解决方法:

问题是您的安装程序没有安装任何东西.将您的项目添加为对安装程序的引用并不意味着安装程序将包括您的项目输出.在安装项目中,您具有:

<Fragment>
  <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
    <!-- TODO: Remove the comments around this Component element and     the ComponentRef below in order to add resources to this installer. -->
    <!-- <Component Id="ProductComponent"> -->

    <!-- </Component> -->
  </ComponentGroup>
</Fragment>

您需要添加文件…即取消注释< Component>< / Component>标记并手动添加文件.最好有一个< Component>每个文件的标签.

例:

 <Component Id="MyProgram.exe" Guid="PUT-GUID-HERE">
      <File Id="MyProgram.exe" KeyPath="yes" Source="Path_To_Output_Folder\MyProgram.exe" />
 </Component>

标签:windows-installer,wix,c
来源: https://codeday.me/bug/20191031/1978790.html