mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 14:31:31 +01:00
feat: create versioned resources for windows setup (#263998)
* feat: create versioned resources for windows setup * chore: use inno_updater to remove old installation * chore: remove old installation as part of setup * chore: update explorer-command * chore: prefer session-end * chore: uninst delete updating_version * chore: make session-ending write synchronous * chore: cleanup updateService.win32.ts * chore: invoke inno_updater gc path for non background update * chore: move session-end path to runtime * chore: use commit for updating_version * chore: fix invalid string * chore: set appUpdate path * chore: update inno_updater * chore: empty commit for testing * chore: some cleanups 1) Check for session-ending flag in appx and tunnel callsites 2) Move gc for background update to cleanup phase in updateservice 3) Set update state to ready when there is a running inno_setup * chore: disallow same version update * chore: disallow application launch in the middle of update * chore: empty commit for testing * chore: bump inno_updater * chore: empty commit for testing * chore: move gc to update startup * chore: move feature behind insider only check * chore: bump inno_updater * chore: bump explorer-command * fix: build * fix: gc for background update in system setup * chore: create separate cli entrypoints for build * fix: check for setup mutex created by inno * chore: remove problematic updatingVersionPath deletion * chore: remove redundant update check * chore: bump inno_updater * chore: fix build * chore: bump inno updater
This commit is contained in:
63
resources/win32/insider/bin/code.sh
Normal file
63
resources/win32/insider/bin/code.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
if [ "$VSCODE_WSL_DEBUG_INFO" = true ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
COMMIT="@@COMMIT@@"
|
||||
APP_NAME="@@APPNAME@@"
|
||||
QUALITY="@@QUALITY@@"
|
||||
NAME="@@NAME@@"
|
||||
SERVERDATAFOLDER="@@SERVERDATAFOLDER@@"
|
||||
VERSIONFOLDER="@@VERSIONFOLDER@@"
|
||||
VSCODE_PATH="$(dirname "$(dirname "$(realpath "$0")")")"
|
||||
ELECTRON="$VSCODE_PATH/$NAME.exe"
|
||||
|
||||
IN_WSL=false
|
||||
if [ -n "$WSL_DISTRO_NAME" ]; then
|
||||
# $WSL_DISTRO_NAME is available since WSL builds 18362, also for WSL2
|
||||
IN_WSL=true
|
||||
else
|
||||
WSL_BUILD=$(uname -r | sed -E 's/^[0-9.]+-([0-9]+)-Microsoft.*|.*/\1/')
|
||||
if [ -n "$WSL_BUILD" ]; then
|
||||
if [ "$WSL_BUILD" -ge 17063 ]; then
|
||||
# WSLPATH is available since WSL build 17046
|
||||
# WSLENV is available since WSL build 17063
|
||||
IN_WSL=true
|
||||
else
|
||||
# If running under older WSL, don't pass cli.js to Electron as
|
||||
# environment vars cannot be transferred from WSL to Windows
|
||||
# See: https://github.com/microsoft/BashOnWindows/issues/1363
|
||||
# https://github.com/microsoft/BashOnWindows/issues/1494
|
||||
"$ELECTRON" "$@"
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ $IN_WSL = true ]; then
|
||||
|
||||
export WSLENV="ELECTRON_RUN_AS_NODE/w:$WSLENV"
|
||||
CLI=$(wslpath -m "$VSCODE_PATH/resources/app/out/cli.js")
|
||||
|
||||
# use the Remote WSL extension if installed
|
||||
WSL_EXT_ID="ms-vscode-remote.remote-wsl"
|
||||
|
||||
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --locate-extension $WSL_EXT_ID >/tmp/remote-wsl-loc.txt 2>/dev/null </dev/null
|
||||
WSL_EXT_WLOC=$(cat /tmp/remote-wsl-loc.txt)
|
||||
|
||||
if [ -n "$WSL_EXT_WLOC" ]; then
|
||||
# replace \r\n with \n in WSL_EXT_WLOC
|
||||
WSL_CODE=$(wslpath -u "${WSL_EXT_WLOC%%[[:cntrl:]]}")/scripts/wslCode.sh
|
||||
"$WSL_CODE" "$COMMIT" "$QUALITY" "$ELECTRON" "$APP_NAME" "$SERVERDATAFOLDER" "$@"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
elif [ -x "$(command -v cygpath)" ]; then
|
||||
CLI=$(cygpath -m "$VSCODE_PATH/$VERSIONFOLDER/resources/app/out/cli.js")
|
||||
else
|
||||
CLI="$VSCODE_PATH/$VERSIONFOLDER/resources/app/out/cli.js"
|
||||
fi
|
||||
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
|
||||
exit $?
|
||||
Reference in New Issue
Block a user