How to Install WiX Extensions for VS 2017

2019-08-22 01:58发布

I am new to Visual Studio 2017 Professional, and am trying to replicate my Vs2013 development environment including the installation of WiX extensions. Unfortunately when I attempt to install the Votive2017.vsix file I get an error message:

VSIX Installer Error Message

Can someone please assist. I have been struggling with this for the last three hours now, and it is driving me insane. My VS2017 install seems to be complete, sufficient at any rate to compile, run and debug the VS solution that I have ported over from VS2013.

Kind Regards Paul J.

Guys please find below the content of the install log as requested:

 24/06/2019 11:00:44 - System.IO.FileLoadException: Could not load file or assembly 'Microsoft.VisualStudio.Threading, Version=15.5.0.0,  Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
 File name: 'Microsoft.VisualStudio.Threading, Version=15.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    at VSIXInstaller.SupportedVSSKU.get_Host()
    at VSIXInstaller.SupportedVSSKU.CreateExtensionEngine()
    at System.Lazy`1.CreateValue()
    at System.Lazy`1.LazyInitValue()
    at System.Lazy`1.get_Value()
    at VSIXInstaller.App.GetExtensionEngineForApplicableSKU(SupportedVSSKU supportedSKU, IInstallableExtension installableExtension, List`1 applicableSKUs, Boolean isRepairSupported)
    at VSIXInstaller.App.TryAddSkuToValidSkuList(SupportedVSSKU supportedSKU, IInstallableExtension extension, List`1 validSKUs, Boolean isRepairSupported)

 WRN: Assembly binding logging is turned OFF.
 To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
 Note: There is some performance penalty associated with assembly bind failure logging.
 To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

 24/06/2019 11:00:44 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
    at VSIXInstaller.App.GetInstallableData(String vsixPath, Boolean isRepairSupported, IEnumerable`1& skuData)
    at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
    at VSIXInstaller.App.Initialize()
    at System.Threading.Tasks.Task`1.InnerInvoke()
    at System.Threading.Tasks.Task.Execute()

Kind Regards Paul J.

1条回答
乱世女痞
2楼-- · 2019-08-22 02:35

It's strange that the extension wants to load the Microsoft.VisualStudio.Threading.dll, since I've installed it successfully in one Community Edition where the assembly not exists.

1.Please download the latest Votive2017.vsix here.

2.And if the installation fails again for trying load that assembly:

If the assembly exists:

  • Update VS2017 to latest version. If it's already latest 15.9.13, try vs repair.(For 15.9.13, the Assembly version should be 15.8.0.0)

  • Make sure you've got the Admin permission of your current machine. Check the FileLoadException Remarks and you'll find this exception has something to do with OS permission.

If the assembly not exists:

  • Still I recommend you update VS to latest version. Latest version 15.9.13 has fixed some issues.

  • After that, as a workaround you can Go Tools menu =>Get Tools and Features to install VS Extension Development workload which contains the assembly it wants to load.

  • Then please make sure you run the Windows as Admin when you trying to install the extension.

In addition: The path of the assembly should be:(Thanks for Hans's reminder!)

 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PrivateAssemblies
查看更多
登录 后发表回答