diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index c1aecbd84..c6f583096 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -240,7 +240,7 @@ stages:
_TestArg: ''
Build_Linux_musl_Debug_x64:
_BuildConfig: Debug
- _DockerParameter: '--docker alpine.3.13'
+ _DockerParameter: '--docker alpine.3.15'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64'
@@ -285,7 +285,7 @@ stages:
_TestArg: ''
Build_Linux_musl_Release_x64:
_BuildConfig: Release
- _DockerParameter: '--docker alpine.3.13'
+ _DockerParameter: '--docker alpine.3.15'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64'
diff --git a/NuGet.config b/NuGet.config
index c8e5ee130..9401b3f64 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,7 +7,6 @@
-
@@ -15,12 +14,21 @@
+
+
+
-
+
+
+
+
+
+
+
@@ -41,17 +49,25 @@
-
+
+
+
+
-
+
+
+
+
+
+
+
-
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 0c2c995c7..688060474 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -90,27 +90,27 @@
9388790ba9ed8fef11584b2c74fe6789782a1592
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-templating
- 81b4aff895d7eaab61aa000a696f7bc79fc49b70
+ c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-templating
- 81b4aff895d7eaab61aa000a696f7bc79fc49b70
+ c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-templating
- 81b4aff895d7eaab61aa000a696f7bc79fc49b70
+ c2eaaa1ff778461cf69f1386b1f2b37d674a0ab0
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-sdk
- 40c58ac25e9fcb1bbee56a592918fc464f64a6e7
+ bb5ae4829da51d315033bedb73116477b0390cd3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-sdk
- 40c58ac25e9fcb1bbee56a592918fc464f64a6e7
+ bb5ae4829da51d315033bedb73116477b0390cd3
@@ -121,44 +121,44 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-wpf
2b6f0273734c631e1ecc8c503836d4fab840065b
-
+
https://github.com/dotnet/fsharp
- 702b8e77f5fbfe21e6743324c1750503e02f182d
+ 5d69143fbe992d8fa33d5b83d5fdd5f4ed7bb4fc
-
+
https://github.com/dotnet/fsharp
- 702b8e77f5fbfe21e6743324c1750503e02f182d
+ 5d69143fbe992d8fa33d5b83d5fdd5f4ed7bb4fc
-
+
https://github.com/microsoft/vstest
- 5948b392c5d8c2580d08c9f6570409315243f86e
+ 6e76d580fcc69954441344175bd1b0ab2e432026
-
+
https://github.com/dotnet/linker
- 28db36b95cf83c8e2ad11e67a2ad0de301b4cad6
+ 4be765525a1b45d28ab69a48f92e008b70a4e56e
linker
-
+
https://github.com/dotnet/roslyn
- 432d17a83aa5623e4581756f4d642997048056bd
+ 41a5af9d2c459a06c0795bf21a1c046200f375bf
-
+
https://dev.azure.com/devdiv/DevDiv/_git/DotNet-msbuild-Trusted
- 038f9bae9b34d1cca653360a46c5ce1eba4c2ac8
+ 561848881bab01749e6d8b03be2869a18ca944f7
-
+
https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted
- 8fef55f5a55a3b4f2c96cd1a9b5ddc51d4b927f8
+ 5e444458a8c4a2dac9806fc1d387b7f157669540
-
+
https://github.com/Microsoft/ApplicationInsights-dotnet
- 93f745cfef8541f09862aae9bc8c04554bca38c7
+ 53b80940842204f78708a538628288ff5d741a1d
@@ -197,19 +197,19 @@
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
-
+
https://github.com/dotnet/arcade
- 98fd22588fbb0f407faa6a74cb1aa79031306151
+ 06ccd9430e2e3bd29a381a5b27e7976d11b0ed18
https://github.com/dotnet/source-build-reference-packages
diff --git a/eng/Versions.props b/eng/Versions.props
index e5ac3afbe..d6f2ec0e6 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -7,8 +7,8 @@
6
0
- 3
- 19
+ 4
+ 16
$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)
servicing
$(VersionMajor).$(VersionMinor)
@@ -19,7 +19,7 @@
- 6.0.0-beta.23408.5
+ 6.0.0-beta.23511.8
@@ -31,7 +31,7 @@
- 6.0.318
+ 6.0.415
@@ -56,8 +56,8 @@
- 6.0.318-servicing.23480.39
- 6.0.318-servicing.23480.39
+ 6.0.415-servicing.23480.38
+ 6.0.415-servicing.23480.38
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
@@ -115,7 +115,7 @@
$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)
$(NUnit3DotNetNewTemplatePackageVersion)
$(MicrosoftDotNetCommonItemTemplatesPackageVersion)
- 6.0.318
+ 6.0.415
$(MicrosoftAspNetCoreAppRuntimePackageVersion)
$(MicrosoftWinFormsProjectTemplates50PackageVersion)
@@ -152,7 +152,7 @@
2.2.0-beta.19072.10
2.0.0
- 17.2.1-release-20230405-01
+ 17.3.3-release-20230405-02
@@ -178,13 +178,13 @@
- 6.0.300-rc.1.5355
- 32.0.300-rc.1.4
- 15.4.100-rc.1.125
- 15.4.100-rc.1.125
- 12.3.100-rc.1.125
- 15.4.100-rc.1.125
- 6.0.4
+ 6.0.312
+ 32.0.301
+ 15.4.303
+ 15.4.303
+ 12.3.303
+ 15.4.303
+ 6.0.5
6.0.4
$(MicrosoftNETWorkloadEmscriptenManifest60200Version)
diff --git a/eng/common/retain-build.ps1 b/eng/common/retain-build.ps1
new file mode 100644
index 000000000..e7ba975ad
--- /dev/null
+++ b/eng/common/retain-build.ps1
@@ -0,0 +1,45 @@
+
+Param(
+[Parameter(Mandatory=$true)][int] $buildId,
+[Parameter(Mandatory=$true)][string] $azdoOrgUri,
+[Parameter(Mandatory=$true)][string] $azdoProject,
+[Parameter(Mandatory=$true)][string] $token
+)
+
+$ErrorActionPreference = 'Stop'
+Set-StrictMode -Version 2.0
+
+function Get-AzDOHeaders(
+ [string] $token)
+{
+ $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":${token}"))
+ $headers = @{"Authorization"="Basic $base64AuthInfo"}
+ return $headers
+}
+
+function Update-BuildRetention(
+ [string] $azdoOrgUri,
+ [string] $azdoProject,
+ [int] $buildId,
+ [string] $token)
+{
+ $headers = Get-AzDOHeaders -token $token
+ $requestBody = "{
+ `"keepForever`": `"true`"
+ }"
+
+ $requestUri = "${azdoOrgUri}/${azdoProject}/_apis/build/builds/${buildId}?api-version=6.0"
+ write-Host "Attempting to retain build using the following URI: ${requestUri} ..."
+
+ try {
+ Invoke-RestMethod -Uri $requestUri -Method Patch -Body $requestBody -Header $headers -contentType "application/json"
+ Write-Host "Updated retention settings for build ${buildId}."
+ }
+ catch {
+ Write-Error "Failed to update retention settings for build: $_.Exception.Response.StatusDescription"
+ exit 1
+ }
+}
+
+Update-BuildRetention -azdoOrgUri $azdoOrgUri -azdoProject $azdoProject -buildId $buildId -token $token
+exit 0
diff --git a/eng/common/templates/steps/retain-build.yml b/eng/common/templates/steps/retain-build.yml
new file mode 100644
index 000000000..83d97a26a
--- /dev/null
+++ b/eng/common/templates/steps/retain-build.yml
@@ -0,0 +1,28 @@
+parameters:
+ # Optional azure devops PAT with build execute permissions for the build's organization,
+ # only needed if the build that should be retained ran on a different organization than
+ # the pipeline where this template is executing from
+ Token: ''
+ # Optional BuildId to retain, defaults to the current running build
+ BuildId: ''
+ # Azure devops Organization URI for the build in the https://dev.azure.com/ format.
+ # Defaults to the organization the current pipeline is running on
+ AzdoOrgUri: '$(System.CollectionUri)'
+ # Azure devops project for the build. Defaults to the project the current pipeline is running on
+ AzdoProject: '$(System.TeamProject)'
+
+steps:
+ - task: powershell@2
+ inputs:
+ targetType: 'filePath'
+ filePath: eng/common/retain-build.ps1
+ pwsh: true
+ arguments: >
+ -AzdoOrgUri: ${{parameters.AzdoOrgUri}}
+ -AzdoProject ${{parameters.AzdoProject}}
+ -Token ${{coalesce(parameters.Token, '$env:SYSTEM_ACCESSTOKEN') }}
+ -BuildId ${{coalesce(parameters.BuildId, '$env:BUILD_ID')}}
+ displayName: Enable permanent build retention
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ BUILD_ID: $(Build.BuildId)
\ No newline at end of file
diff --git a/eng/docker/alpine.3.13/Dockerfile b/eng/docker/alpine.3.15/Dockerfile
similarity index 93%
rename from eng/docker/alpine.3.13/Dockerfile
rename to eng/docker/alpine.3.15/Dockerfile
index 272f9596a..2d7e65698 100644
--- a/eng/docker/alpine.3.13/Dockerfile
+++ b/eng/docker/alpine.3.15/Dockerfile
@@ -4,7 +4,7 @@
#
# Dockerfile that creates a container suitable to build dotnet-cli
-FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-20210714125444-ae5be29
+FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-20220610131707-f0ea7ba
RUN apk update && apk upgrade && apk add --no-cache curl ncurses
diff --git a/global.json b/global.json
index 327cfe027..eeff7fa00 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "6.0.121",
+ "dotnet": "6.0.123",
"runtimes": {
"dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
@@ -11,7 +11,7 @@
"cmake": "3.16.4"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23408.5",
- "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23408.5"
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.23511.8",
+ "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.23511.8"
}
}
diff --git a/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch b/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch
index b82faadcd..3176d939b 100644
--- a/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch
+++ b/src/SourceBuild/tarball/patches/format/0002-Add-explicit-System.Text.Json-dependency.patch
@@ -32,7 +32,7 @@ index cdfa5f5e..86f02b44 100644
+++ b/eng/Version.Details.xml
@@ -13,6 +13,10 @@
https://github.com/dotnet/command-line-api
- 82273cb56c83b589e8e5b63da0ac9745ffc6e105
+ c776cd4e906b669b9cce1017fee7d0ba9845d163
+
+ https://github.com/dotnet/runtime
@@ -40,15 +40,15 @@ index cdfa5f5e..86f02b44 100644
+
-
+
diff --git a/eng/Versions.props b/eng/Versions.props
index 27582078..bccaf176 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -20,6 +20,8 @@
- 2.0.0-beta1.21473.1
- 0.3.0-alpha.21473.1
+ 2.0.0-beta4.22504.1
+ 0.4.0-alpha.22504.1
+
+ 6.0.8
diff --git a/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch b/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch
deleted file mode 100644
index cff9bda21..000000000
--- a/src/SourceBuild/tarball/patches/fsharp/0002-Enable-work-tree-and-unsafe-paths-to-be-able-to-appl.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Chris Rummel
-Date: Wed, 22 Jun 2022 05:53:06 -0500
-Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
- checked-in tarball.
-
----
- eng/SourceBuild.props | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
-index 903ee00..4c85819 100644
---- a/eng/SourceBuild.props
-+++ b/eng/SourceBuild.props
-@@ -15,7 +15,7 @@
-
-
-
-
diff --git a/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch b/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch
deleted file mode 100644
index 1d284c47e..000000000
--- a/src/SourceBuild/tarball/patches/nuget-client/0001-Pin-Microsoft.Build-and-Microsoft.Extensions.Command.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: MichaelSimons
-Date: Wed, 11 May 2022 21:16:46 +0000
-Subject: [PATCH] Pin Microsoft.Build and
- Microsoft.Extensions.CommandLineUtils.Sources versions in source-build
-
-Update package version reference to not pick up the source-build PVP versions and instead utilize SBRP versions
-so that source-build builds closer to the normal repo build.
----
- build/packages.targets | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/build/packages.targets b/build/packages.targets
-index 0ca4b1309..dc3db5b8e 100644
---- a/build/packages.targets
-+++ b/build/packages.targets
-@@ -1,6 +1,6 @@
-
-
-- 16.8.0
-+ 16.8.0
- 13.0.1
- 3.0.0
- 4.5.0
-@@ -10,7 +10,7 @@
- 5.0.0
- 2.14.0-rtm-832
- 17.0.0-beta1-10402-05
-- 3.0.0-preview6.19253.5
-+ 3.0.0-preview6.19253.5
-
-
-
diff --git a/src/finalizer/CMakeLists.txt b/src/finalizer/CMakeLists.txt
index bdb26d893..fe1b531ea 100644
--- a/src/finalizer/CMakeLists.txt
+++ b/src/finalizer/CMakeLists.txt
@@ -31,7 +31,6 @@ target_link_libraries(Finalizer shell32.lib)
target_link_libraries(Finalizer advapi32.lib)
target_link_libraries(Finalizer version.lib)
target_link_libraries(Finalizer msi.lib)
-target_link_libraries(Finalizer pathcch.lib)
# Add WiX libraries
target_link_libraries(Finalizer wcautil.lib)
diff --git a/src/finalizer/finalizer.cpp b/src/finalizer/finalizer.cpp
index 0d1df6193..58bf9e1bd 100644
--- a/src/finalizer/finalizer.cpp
+++ b/src/finalizer/finalizer.cpp
@@ -38,6 +38,39 @@ LExit:
return hr;
}
+extern "C" HRESULT StrTrimBackslash(LPWSTR* ppwz, LPCWSTR wzSource)
+{
+ HRESULT hr = S_OK;
+ LPWSTR sczResult = NULL;
+
+ int i = lstrlenW(wzSource);
+
+ if (0 < i)
+ {
+ for (i = i - 1; i > 0; --i)
+ {
+ if (L'\\' != wzSource[i])
+ {
+ break;
+ }
+ }
+
+ ++i;
+ }
+
+ hr = StrAllocString(&sczResult, wzSource, i);
+ ExitOnFailure(hr, "Failed to copy result string");
+
+ // Output result
+ *ppwz = sczResult;
+ sczResult = NULL;
+
+LExit:
+ ReleaseStr(sczResult);
+
+ return hr;
+}
+
extern "C" HRESULT DeleteWorkloadRecords(LPWSTR sczSdkFeatureBandVersion, LPWSTR sczArchitecture)
{
HRESULT hr = S_OK;
@@ -112,7 +145,7 @@ extern "C" HRESULT DeleteWorkloadRecords(LPWSTR sczSdkFeatureBandVersion, LPWSTR
ExitOnFailure(hr, "Failed to get size of key name.");
// Need to remove trailing backslash otherwise PathFile returns an empty string.
- hr = PathCchRemoveBackslash(sczKeyName, cbKeyName);
+ hr = StrTrimBackslash(&sczKeyName, sczKeyName);
ExitOnFailure(hr, "Failed to remove backslash.");
hr = StrAllocString(&sczSubKey, PathFile(sczKeyName), 0);
@@ -363,7 +396,17 @@ extern "C" HRESULT DetectSdk(LPWSTR sczSdkFeatureBandVersion, LPWSTR sczArchitec
LogStringLine(REPORT_STANDARD, "Scanning %ls", sczInstalledSdkVersionsKeyName);
hr = RegOpen(HKEY_LOCAL_MACHINE, sczInstalledSdkVersionsKeyName, KEY_READ, &hkInstalledSdkVersionsKey);
- ExitOnFailure(hr, "Failed to read installed versions key.");
+
+ // When the last SDK is removed the registry key should no longer exist so we can just exit
+ if (E_FILENOTFOUND == hr)
+ {
+ LogStringLine(REPORT_STANDARD, "Registry key not found: %ls.", sczInstalledSdkVersionsKeyName);
+ hr = S_OK;
+ *pbInstalled = FALSE;
+ goto LExit;
+ }
+
+ ExitOnFailure(hr, "Failed to open registry key: %ls.", sczInstalledSdkVersionsKeyName);
for (DWORD dwSdkVersionsValueIndex = 0;; ++dwSdkVersionsValueIndex)
{
@@ -427,9 +470,10 @@ int wmain(int argc, wchar_t* argv[])
hr = ::DetectSdk(sczFeatureBandVersion, argv[3], &bSdkFeatureBandInstalled);
ExitOnFailure(hr, "Failed to detect installed SDKs.");
- if (!bSdkFeatureBandInstalled)
+ // If the feature band is still present, do not remove workloads.
+ if (bSdkFeatureBandInstalled)
{
- LogStringLine(REPORT_STANDARD, "SDK with feature band %ls could not be found.", sczFeatureBandVersion);
+ LogStringLine(REPORT_STANDARD, "Detected SDK with feature band %ls.", sczFeatureBandVersion);
goto LExit;
}
diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets
index 7b8536e48..63bfd724e 100644
--- a/src/redist/targets/BundledManifests.targets
+++ b/src/redist/targets/BundledManifests.targets
@@ -82,19 +82,19 @@
+ DestinationPath="%(BundledManifests.FeatureBand)/$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/localize"/>
+ DestinationFolder="$(RedistLayoutPath)sdk-manifests/%(DestinationPath)"/>
diff --git a/src/redist/targets/Crossgen.targets b/src/redist/targets/Crossgen.targets
index a59ed388f..645c4681b 100644
--- a/src/redist/targets/Crossgen.targets
+++ b/src/redist/targets/Crossgen.targets
@@ -41,8 +41,10 @@
-
+
+
+
diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets
index eb57d27c1..db2c5feb2 100644
--- a/src/redist/targets/GenerateBundledVersions.targets
+++ b/src/redist/targets/GenerateBundledVersions.targets
@@ -305,6 +305,7 @@ Copyright (c) .NET Foundation. All rights reserved.
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
AppHostPackVersion="$(_NETCoreAppPackageVersion)"
AppHostRuntimeIdentifiers="@(NetCoreAppHostRids, '%3B')"
+ ExcludedRuntimeIdentifiers="android"
/>
win-arm64
+
+ win-x86
+ win-x64
+ win-arm
+
+
$(CoreSetupRootUrl)$(CoreSetupBlobVersion)
@@ -180,6 +186,13 @@
packs/%(PackageName)/%(PackageVersion)
+
+ Microsoft.NETCore.App.Host.$(x64AppHostRid)
+ $(MicrosoftNETCoreAppHostPackageVersion)
+ $(TargetFramework)
+ packs/%(PackageName)/%(PackageVersion)
+
+
$(CoreSetupRootUrl)$(CoreSetupBlobVersion)
@@ -459,7 +472,7 @@
diff --git a/src/redist/targets/packaging/deb/postinst b/src/redist/targets/packaging/deb/postinst
index 142daff4e..ff22bcbc1 100644
--- a/src/redist/targets/packaging/deb/postinst
+++ b/src/redist/targets/packaging/deb/postinst
@@ -22,6 +22,5 @@ first_run() {
/usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true
}
-INSTALL_TEMP_HOME=/tmp/dotnet-installer
-[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
+INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically
HOME=$INSTALL_TEMP_HOME first_run
diff --git a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
index 28339be99..86710223d 100644
--- a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
+++ b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
@@ -12,7 +12,7 @@ first_run() {
$INSTALL_DESTINATION/dotnet exec $INSTALL_DESTINATION/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "$1" > /dev/null 2>&1 || true
}
-[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
+INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically
HOME=$INSTALL_TEMP_HOME first_run
exit 0
diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.wxs b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
index c58c6a194..148487bde 100644
--- a/src/redist/targets/packaging/windows/clisdk/bundle.wxs
+++ b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
@@ -151,7 +151,31 @@
-
+
+
+
+
+
@@ -208,20 +232,7 @@
-
-
+