From ea1eadfe0659a55de5e54267b25d7b8dd3a195ad Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Mon, 8 May 2017 00:14:25 -0700 Subject: [PATCH] build: use well-knows SID instead of "Everyone" This will fix CreateSymLinkPermission modification in systems with locale that is other than english. Signed-off-by: Ruslan Kuprieiev --- innosetup/addSymLinkPermissions.ps1 | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/innosetup/addSymLinkPermissions.ps1 b/innosetup/addSymLinkPermissions.ps1 index 90250ce4d..ea44eba6b 100644 --- a/innosetup/addSymLinkPermissions.ps1 +++ b/innosetup/addSymLinkPermissions.ps1 @@ -5,12 +5,16 @@ param ( function addSymLinkPermissions($accountToAdd){ Write-Host "Checking SymLink permissions.." $sidstr = $null - try { - $ntprincipal = new-object System.Security.Principal.NTAccount "$accountToAdd" - $sid = $ntprincipal.Translate([System.Security.Principal.SecurityIdentifier]) - $sidstr = $sid.Value.ToString() - } catch { - $sidstr = $null + if ( "$accountToAdd" -eq "Everyone" ) { + $sidstr = "S-1-1-0" + } else { + try { + $ntprincipal = new-object System.Security.Principal.NTAccount "$accountToAdd" + $sid = $ntprincipal.Translate([System.Security.Principal.SecurityIdentifier]) + $sidstr = $sid.Value.ToString() + } catch { + $sidstr = $null + } } Write-Host "Account: $($accountToAdd)" -ForegroundColor DarkCyan if( [string]::IsNullOrEmpty($sidstr) ) { @@ -66,7 +70,7 @@ SECreateSymbolicLinkPrivilege = $($currentSetting) } if ( "$mytype" -eq "user" ) { - addSymLinkPermissions $(Get-WMIObject -class Win32_ComputerSystem | select username).username + addSymLinkPermissions $(Get-WMIObject -class Win32_ComputerSystem | select username).username } else { - addSymLinkPermissions Everyone + addSymLinkPermissions Everyone }