diff --git a/packaging/windows/product.wxs.template b/packaging/windows/product.wxs.template index 66d28a7a65..20a3b8b921 100755 --- a/packaging/windows/product.wxs.template +++ b/packaging/windows/product.wxs.template @@ -55,7 +55,7 @@ - + NOT UPGRADINGPRODUCTCODE AND NOT WIX_UPGRADE_DETECTED diff --git a/pkg/crc/cache/cache.go b/pkg/crc/cache/cache.go index 8e3070160e..9bb9fd8cac 100644 --- a/pkg/crc/cache/cache.go +++ b/pkg/crc/cache/cache.go @@ -17,10 +17,11 @@ import ( ) type Cache struct { - executablePath string - archiveURL string - version string - getVersion func(string) (string, error) + executablePath string + archiveURL string + version string + ignoreNameMismatch bool + getVersion func(string) (string, error) } type VersionMismatchError struct { @@ -127,14 +128,14 @@ func (c *Cache) cacheExecutable() error { } } else { extractedFiles = append(extractedFiles, assetTmpFile) - if filepath.Base(assetTmpFile) != c.GetExecutableName() { + if filepath.Base(assetTmpFile) != c.GetExecutableName() && !c.ignoreNameMismatch { logging.Warnf("Executable name is %s but extracted file name is %s", c.GetExecutableName(), filepath.Base(assetTmpFile)) } } // Copy the requested asset into its final destination for _, extractedFilePath := range extractedFiles { - finalExecutablePath := filepath.Join(constants.CrcBinDir, filepath.Base(extractedFilePath)) + finalExecutablePath := filepath.Join(constants.CrcBinDir, c.GetExecutableName()) // If the file exists then remove it (ignore error) first before copy because with `0500` permission // it is not possible to overwrite the file. os.Remove(finalExecutablePath) diff --git a/pkg/crc/cache/cache_windows.go b/pkg/crc/cache/cache_windows.go index 95fc566b20..49b75bdb8f 100644 --- a/pkg/crc/cache/cache_windows.go +++ b/pkg/crc/cache/cache_windows.go @@ -12,7 +12,7 @@ import ( func NewWin32BackgroundLauncherCache() *Cache { url := constants.GetWin32BackgroundLauncherDownloadURL() version := version.GetWin32BackgroundLauncherVersion() - return newCache(constants.Win32BackgroundLauncherPath(), + cache := newCache(constants.Win32BackgroundLauncherPath(), url, version, func(executable string) (string, error) { @@ -23,4 +23,8 @@ func NewWin32BackgroundLauncherCache() *Cache { return strings.TrimSpace(stdOut), nil }, ) + // upstream binary name is win32-background-launcher.exe + // but we want to name it as crc-background-launcher.exe + cache.ignoreNameMismatch = true + return cache } diff --git a/pkg/crc/constants/constants.go b/pkg/crc/constants/constants.go index 7a3a9f0947..486d9e3d63 100644 --- a/pkg/crc/constants/constants.go +++ b/pkg/crc/constants/constants.go @@ -27,7 +27,7 @@ const ( DaemonLogFile = "crcd.log" CrcLandingPageURL = "https://console.redhat.com/openshift/create/local" // #nosec G101 DefaultAdminHelperURLBase = "https://github.com/crc-org/admin-helper/releases/download/v%s/%s" - BackgroundLauncherURL = "https://github.com/crc-org/win32-background-launcher/releases/download/v%s/%s" + BackgroundLauncherURL = "https://github.com/crc-org/win32-background-launcher/releases/download/v%s/win32-background-launcher.exe" DefaultBundleURLBase = "https://mirror.openshift.com/pub/openshift-v4/clients/crc/bundles/%s/%s/%s" DefaultContext = "admin" DaemonHTTPEndpoint = "http://unix/api" @@ -49,7 +49,7 @@ const ( OpenShiftIngressHTTPPort = 80 OpenShiftIngressHTTPSPort = 443 - BackgroundLauncherExecutable = "win32-background-launcher.exe" + BackgroundLauncherExecutable = "crc-background-launcher.exe" ) var adminHelperExecutableForOs = map[string]string{ @@ -196,7 +196,7 @@ func GetKubeAdminPasswordPath() string { func GetWin32BackgroundLauncherDownloadURL() string { return fmt.Sprintf(BackgroundLauncherURL, - version.GetWin32BackgroundLauncherVersion(), BackgroundLauncherExecutable) + version.GetWin32BackgroundLauncherVersion()) } func GetDefaultCPUs(preset crcpreset.Preset) int {