在Visual Studio 2017中安装项目

时间:2018-07-06 10:30:26

标签: wix setup-project wix-extension

我已将使用VS 2010在.Net 2.0中开发的Windows服务迁移到了VS 2017上的.Net 4.7.2。由于VS 2017不支持此项目类型,因此安装项目迁移失败。正如Microsoft建议here一样,我正在使用wix创建安装项目,并已按此顺序下载并安装了wix工具集3.11.1,用于Visual Studio 2017的Wix扩展和wix VS Designer,并按照教程创建了安装项目。但是我得到了错误 Could not load file or assembly 'wix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c9acf360d0e036e3' or one of its dependencies.

wix目标文件具有以下代码:

<PropertyGroup>
    <WixTargetsImported>true</WixTargetsImported>

    <!-- MSBuild 4.0 -->
    <!-- MSBuild does not do short circuit evaluation of the AND operator, so we cannot have
         something like '$(MSBuildToolsVersion)' != '' AND '$(MSBuildToolsVersion)' &gt;= '4.0'
         instead set as default and override -->
    <WixVersionTargetsPath>wix2010.targets</WixVersionTargetsPath>
    <!-- MSBuild 2.0 - 3.5 -->
    <WixVersionTargetsPath Condition=" '$(MSBuildToolsVersion)' == '' OR '$(MSBuildToolsVersion)' &lt; '4.0' ">wix200x.targets</WixVersionTargetsPath>
  </PropertyGroup>

由于MSBuildToolsVersion为15,因此应选择正确的目标文件wix2010.targets。查看此文件,$(WixInstallPath)从$(Registry:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows Installer XML \ 3.11@InstallRoot)中读取其值。现在,我没有此路径(该路径中没有Windows Installer XML)。 我对wix工具集了解不多。在我看来,尽管安装过程中没有出现任何错误,但安装未正确完成。从那时起,我已经卸载并重新安装了VS 2017的wix工具集和扩展,但没有运气。其他人有没有做过迁移,并在VS 2017中使用了wix工具集来创建安装项目并遇到了这个问题?

1 个答案:

答案 0 :(得分:1)

使用安装程序项目附加组件并迁移现有的安装项目可能会更容易。在市场上:

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects

您发布的链接确实引用了这些,因此也许您还是决定使用WiX。