fisheva / Eva-Theme

A comfortable and semantic theme.
https://marketplace.visualstudio.com/items?itemName=fisheva.eva-theme
MIT License
452 stars 38 forks source link

VSIX theme installer fails on VS 2019 Pro #67

Closed jbollman7 closed 2 years ago

jbollman7 commented 2 years ago

11/10/2021 2:39:40 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.

Screenshot

image

Code Snippet

11/10/2021 2:39:40 PM - Microsoft VSIX Installer
11/10/2021 2:39:40 PM - -------------------------------------------
11/10/2021 2:39:40 PM - vsixinstaller.exe version:
11/10/2021 2:39:40 PM - 16.10.1053
11/10/2021 2:39:40 PM - -------------------------------------------
11/10/2021 2:39:40 PM - Command line parameters:
11/10/2021 2:39:40 PM - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\Users\jb\Downloads\Eva_Theme.vsix
11/10/2021 2:39:40 PM - -------------------------------------------
11/10/2021 2:39:40 PM - Microsoft VSIX Installer
11/10/2021 2:39:40 PM - -------------------------------------------
11/10/2021 2:39:40 PM - Skipping product Microsoft.VisualStudio.Product.BuildTools (6dc31406) since it does not support extensions
11/10/2021 2:39:40 PM - Initializing Install...
11/10/2021 2:39:40 PM - Extension Details...
11/10/2021 2:39:40 PM -     Identifier         : Eva Theme.6377ecba-098b-4a61-8e41-dfb996874822
11/10/2021 2:39:40 PM -     Name               : Eva Theme
11/10/2021 2:39:40 PM -     Author             : fisheva
11/10/2021 2:39:40 PM -     Version            : 0.0.2
11/10/2021 2:39:40 PM -     Description        : Eva Theme for VS.
11/10/2021 2:39:40 PM -     Locale             : en-US
11/10/2021 2:39:40 PM -     MoreInfoURL        : 
11/10/2021 2:39:40 PM -     InstalledByMSI     : False
11/10/2021 2:39:40 PM -     SupportedFrameworkVersionRange : [4.5,)
11/10/2021 2:39:40 PM - 
11/10/2021 2:39:40 PM -     SignatureState     : Unsigned
11/10/2021 2:39:40 PM -     Supported Products : 
11/10/2021 2:39:40 PM -         Microsoft.VisualStudio.Community
11/10/2021 2:39:40 PM -             Version : [17.0,18.0)
11/10/2021 2:39:40 PM - 
11/10/2021 2:39:40 PM -     References         : 
11/10/2021 2:39:40 PM -     Prerequisites      : 
11/10/2021 2:39:40 PM -         -------------------------------------------------------
11/10/2021 2:39:40 PM -         Identifier   : Microsoft.VisualStudio.Component.CoreEditor
11/10/2021 2:39:40 PM -         Name         : Visual Studio core editor
11/10/2021 2:39:40 PM -         Version      : [17.0,18.0)
11/10/2021 2:39:40 PM - 
11/10/2021 2:39:40 PM - Signature Details...
11/10/2021 2:39:40 PM -     Extension is not signed.
11/10/2021 2:39:40 PM - 
11/10/2021 2:39:40 PM - Searching for applicable products...
11/10/2021 2:39:40 PM - Found installed product - Microsoft Visual Studio Community 2015
11/10/2021 2:39:40 PM - Found installed product - Microsoft Visual Studio 2015 Shell (Integrated)
11/10/2021 2:39:40 PM - Found installed product - Global Location
11/10/2021 2:39:40 PM - Found installed product - Visual Studio Professional 2019
11/10/2021 2:39:40 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
   at VSIXInstaller.ExtensionService.GetInstallableDataImpl(IInstallableExtension extension, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

Supplement

I really love your theme and I use it on VScode. It would be nice if it was available for VS pro as well, but definitely not a show stopper. Thank you for your hard work and wonderful theme.

fisheva commented 2 years ago

This question is beyond my knowledge. I will invite Microsoft experts to answer this question and tell me how to modify the visx file. Before that, maybe you need to provide screenshots of your system version and Visual Studio 2019 version so that they can better locate the problem.

jbollman7 commented 2 years ago

Can you try adding this to the manifest please

        <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[17.0, 18.0)">
            <ProductArchitecture>amd64</ProductArchitecture>
        </InstallationTarget>

For Reference https://github.com/StasShchelokovskiy/ProjectUpdater/blob/e8b34d384b633d73bfb8d5ba4901fd8b72bd4423/source.extension.vsixmanifest

gracegtaylor commented 2 years ago

Hi @jbollman7 thank you for sharing this issue. While there isn't a smooth way to turn a 2022 theme to 2019, there are a few workarounds.

Since 2019 doesn't have the fallback theme logic, the quality of the theme could be different if changing the manifest. With that being said, it is possible to change the manifest so that the theme can apply to 2019:

        <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0,17.0)">
            <ProductArchitecture>x86</ProductArchitecture>
        </InstallationTarget>

        <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0,18.0)" DisplayName="Visual Studio core editor" />

Another way which could work is using the Color Theme Designer 2022 and Color Theme Designer 2019. This method requires both Visual Studio 2022 and 2019, as well as both Theme Designer extensions.

  1. Using Color Theme Designer 2022, select the 2022 theme as base theme
  2. Take the generated vstheme file and paste it into Color Theme Designer 2019. (Need to remove the BaseGUID .)
  3. Recompile in Color Theme Designer 2019 The Color Theme Designer 2022 should be able to take care of the fallback logic and add the missing tokens.

While neither method is perfect, we are still working on improving the process of creating custom themes.

fisheva commented 2 years ago

Hi, @jbollman7

Sorry for reply so late! I have update Eva Theme for VS last week. The first two version of Eva Theme for VS came out in a hurry. It was directly put on the MarketPlace, after converting from Eva Theme for VSCode. This update (0.0.3 version) not only supports the 2019 VS, but also fixes some bugs that are obviously unreasonable when used. In the process, I also encountered some problems that made me at a loss and stuck. That took me a few weeks' spare time.

Now you can download the installer file of Eva Theme for 2019 Visual Studio here. In fact, this file supports both 2019 & 2022 Visual Studio. But when I use this file to update Eva Theme for VS in the MarketPlace. The website shows an error warning.

refused-warning

I will ask Grace how to deal with this. Before that, you need to download the lastest version of Eva Theme for 2019 VS installer file on manually. The lastest 2019 version will always as the same to 2022 version in the MarketPlace.

Before you use Eva Theme for VS, it's better to have a look at the README. Hope you like it, and you are welcome to raise more issues. Thanks!

jbollman7 commented 2 years ago

Thank you very much for this addition. The theme works perfectly on my VS Pro edition. Closing issue.