Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin modal: tell user to install MSVC redistributable if needed #1795

Open
wants to merge 18 commits into
base: feature/plugins
Choose a base branch
from

Conversation

emlys
Copy link
Member

@emlys emlys commented Feb 19, 2025

Description

Fixes #1794

When a user opens the "Manage plugins" modal, check for the existence of the DLL that micromamba needs. If not found at the expected path, display a message and point the user to download and install the MSVC redistributable, which installs the DLL.

Checklist

  • Updated HISTORY.rst and link to any relevant issue (if these changes are user-facing)
  • Updated the user's guide (if needed)
  • Tested the Workbench UI (if relevant)

@emlys emlys changed the base branch from main to feature/plugins February 19, 2025 21:27
@davemfish davemfish added this to the plugins milestone Mar 17, 2025
@emlys emlys changed the title Install visual C++ redistributable on first workbench run Plugin modal: tell user to install MSVC redistributable if needed Apr 2, 2025
@emlys emlys self-assigned this Apr 2, 2025
@emlys emlys requested a review from dcdenu4 April 2, 2025 23:14
@emlys emlys marked this pull request as ready for review April 2, 2025 23:15
Copy link
Member

@dcdenu4 dcdenu4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @emlys ! This worked great for me in a bare bones Windows VM. I had one suggestion about add a /norestart flag to the exe install call.

Otherwise the only thing that jumps out is that when we finish the 3rd party installer the user is left at the InVEST main page. Would it be possible / reasonable to open the manage plugin window on completion of the MSVCpp install?

}
logger.info('Launching MSVC installer');
const exePath = upath.join(tmpDir, exeName);
execFile(exePath);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to add options to the install using this? I think it'd be nice to add the /norestart option. When testing with this option via the command line, it did as I expected and did not prompt to restart the computer. Without a restart it appears that DLL is found.

<a href="https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist">
{t('Microsoft Visual C++ Redistributable.')}
</a>
{t('You must download and install the redistributable before continuing.')}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a space before the sentence starting with You must download starts.

@@ -187,6 +187,7 @@ describe('createWindow', () => {
ipcMainChannels.CHECK_FILE_PERMISSIONS,
ipcMainChannels.GET_SETTING,
ipcMainChannels.GET_N_CPUS,
ipcMainChannels.HAS_MSVC,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we need the DOWNLOAD_MSVC addition too.

@emlys emlys requested a review from dcdenu4 April 9, 2025 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Plugins: handle VS C++ Windows compiler issue
3 participants