Cannot build WIX project on windows 10

2019-02-21 08:28发布

My WIX installer project was successfully building on windows 8.1 with Visual Studio 2015. .NET version is 4.5.1. But when I upgraded to windows 10 I could not build my project.

I don't know wether the problem is because of windows 10 or something else. When I build my project I receive the following errors:

Error The "WixAssignCulture" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\MSBuild\14.0\bin" directory. ProSafeInstaller C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets 2340

Error The "ReadRegistry" task could not be loaded from the assembly C:\Program Files (x86)\MSBuild..\WiX Toolset v3.8\bin\WixTasks.dll. Could not load file or assembly 'Microsoft.Build.Utilities, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Не удается найти указанный файл. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. CustomActions.

标签: c# wix
2条回答
We Are One
2楼-- · 2019-02-21 09:03

In my cases - VS2013 + Win10 + Wix Toolkit 3.9, I've already installed the .NET 3.5 but the error happened. Then I've modified the .wixproj to add the following variable "WixInstallPath" to point the bin directory of the Wix Toolset:

<PropertyGroup>
  ...
  <WixInstallPath>C:\Program Files\Wix Toolset v3.9\bin</WixInstallPath>
</PropertyGroup>

Yay, this solved the my issue. Build succeeded.

查看更多
一夜七次
3楼-- · 2019-02-21 09:26

WiX has a build dependency on NETFX v3.5. If you enable the ".NET Framework 3.5" feature in "Programs and Features", you should be able to build your WiX projects.

  1. In the control panel, open Programs and Features
  2. Click Turn Windows features on or off
  3. Select .NET Framework 3.5 and click OK
  4. Wait for the feature to install and then rebuild your project

Here is a relevant bug report on WiX.

查看更多
登录 后发表回答