From e947409000e5736f125c6dc247a1d0aca8200500 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Wed, 3 Apr 2019 12:54:40 -0700 Subject: [PATCH 01/16] enable building of msix package --- .gitignore | 1 + assets/AppxManifest.xml | 44 ++++++++ assets/Square150x150Logo.png | Bin 0 -> 10843 bytes assets/Square44x44Logo.png | Bin 0 -> 2018 bytes assets/Square44x44Logo.targetsize-48.png | Bin 0 -> 2018 bytes ...x44Logo.targetsize-48_altform-unplated.png | Bin 0 -> 2018 bytes assets/StoreLogo.png | Bin 0 -> 3069 bytes tools/packaging/packaging.psm1 | 99 +++++++++++++++++- 8 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 assets/AppxManifest.xml create mode 100644 assets/Square150x150Logo.png create mode 100644 assets/Square44x44Logo.png create mode 100644 assets/Square44x44Logo.targetsize-48.png create mode 100644 assets/Square44x44Logo.targetsize-48_altform-unplated.png create mode 100644 assets/StoreLogo.png diff --git a/.gitignore b/.gitignore index d328ed29843..6f54b9e6b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ dotnet-uninstall-debian-packages.sh *.exe *.msi *.appx +*.msix # Ignore binaries and symbols *.pdb diff --git a/assets/AppxManifest.xml b/assets/AppxManifest.xml new file mode 100644 index 00000000000..50209bf6dfa --- /dev/null +++ b/assets/AppxManifest.xml @@ -0,0 +1,44 @@ + + + + + + + + PowerShell Core 6 + Microsoft Corporation + assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/Square150x150Logo.png b/assets/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bba1843f1206918c18bc12e5c5e2f517ea1bcff8 GIT binary patch literal 10843 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 Ar~m)} literal 0 HcmV?d00001 diff --git a/assets/Square44x44Logo.png b/assets/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..16b1f6dd160ce3464d9c691d7dde6754945856e2 GIT binary patch literal 2018 zcmV<82Oao{P)jzNDovg)Y#>mKNI52Xu7+br_1P zGP4V_tYw^K-Eno9UBnqdokdujs$fe|5D+`FzEEbswF|pGR?)f=86V5|;$d5?ZIiUA z)!w7T-=B2o?(!m(`rAzcI@x z2m)EnU|T!LcB136ciuSkMqMx%6z39wKp-N3c_NIqMM`r_oDR5U;*B!&dKDz{~0km0DBu~d7MJUpRRGpRHO@L&od%08d$8&P0 zwI>Dc>vi80A1h%&9Cxp}9bdltB90x}gTjJY3U9>^(z(ZDuUieoHIQ8MK#r1m{&9}e zrogA%l+)kmEfit70+t{Mz{a)puv$}4_=_ocW%m~3PoJ*iO;UT?;FU{jh$)VE=rCMg zQaMy#3$H0~#EvSD$CIV@EP)_;z%_7Lnwvj$5)M4ufZW_E1|dMEKw_dYg?H8AQ8cIW zq#y`n3Vi9((4wIWm(r!=QY0J^Vf~h;asKkCG~Y2J7YCo)j-2dlolr0XGLB)+Iqdcf zHm7{CGyXk>z@6vL)e&(KQd7o=I0gp?@u!X3am5#q)|5K(@bbPUq-UgS63iG#d5`PN zEi9?<3-;90rogQoWE<%BmJ`&mD^ zR~<6(L@X|?9^q;D&J?&X8)dFuceWZO(x81QCl>n;q0;p?xz#JbJ95st`myli1P_U_sViv_yE zpeuZuZa$ix zY82<22!mRZ<#GP3*@4M<)4wnUCL*EF#9B1-@P1b|N5YD z9p-v*%urBVY{JUrOI7GyaXX0Kjb(ugxum6ziEBd;dF4h~(zA0K@M+a7xefy+I*!k{lK4A++~ zkQyFC52sjB?dt8#Qoe3z4yD?GIPUwyo!I*DI#{hKs*T(J-;GV%_oM%88#s#?3WFXv z5y3Hc{ul9v#}L@(8@b`);6OTvlKx`I&CSN1#;sVgXn|_Ov0xZaANU9_wCqC2=QS0E z1n^k(u%%`2d9`)NwXg}m9cRui<18v9s}8?fvKY^7+k~7+>cndAy@(A@zJ#-%97Qx7 zNGc3^Y6k$0l4`#-J@Xq=;MNYZo%qjd6=v1JX0u}RhQHvRyH-FDJ*gt?XghB!M{nvD10l+c4s(tlpx#7_Tj*PJyug8_C z7Xr5}U5tH=e@B`JNSMWxrhYSr&d zVFAD*2)JwYonm99vHV#j!Mr@jNmF1V68igkerY5OuD%P>f^+Um`0f3B@WS3FG42~k zsH3kP{ui!}1dP590N@XV@#>M|3El;OqOu$OQLb)ylx78h<8BnVd%E+Cgkj^B26U`l zk6>89!9)MV$PeFwcr;du)Dr!{e~+Nl`7u)LljMh1CLM7QkHUZPdtD$$X|-p~E$W6R z0hlw?cwF6CT49KnoKfE}b~QgCCy)|Sr_&0JoCjwE@1Ak~edFZq-d6CIwE-xUOef{*0h9Zq0zqA{cSlV$614yvEUN$aClLGVRQyj>z84k83;-fLHjjz( z;-H4S78F%3?EE2ha@*reg{T?ugiY9lO_;g;2n1C5R_gjzNDovg)Y#>mKNI52Xu7+br_1P zGP4V_tYw^K-Eno9UBnqdokdujs$fe|5D+`FzEEbswF|pGR?)f=86V5|;$d5?ZIiUA z)!w7T-=B2o?(!m(`rAzcI@x z2m)EnU|T!LcB136ciuSkMqMx%6z39wKp-N3c_NIqMM`r_oDR5U;*B!&dKDz{~0km0DBu~d7MJUpRRGpRHO@L&od%08d$8&P0 zwI>Dc>vi80A1h%&9Cxp}9bdltB90x}gTjJY3U9>^(z(ZDuUieoHIQ8MK#r1m{&9}e zrogA%l+)kmEfit70+t{Mz{a)puv$}4_=_ocW%m~3PoJ*iO;UT?;FU{jh$)VE=rCMg zQaMy#3$H0~#EvSD$CIV@EP)_;z%_7Lnwvj$5)M4ufZW_E1|dMEKw_dYg?H8AQ8cIW zq#y`n3Vi9((4wIWm(r!=QY0J^Vf~h;asKkCG~Y2J7YCo)j-2dlolr0XGLB)+Iqdcf zHm7{CGyXk>z@6vL)e&(KQd7o=I0gp?@u!X3am5#q)|5K(@bbPUq-UgS63iG#d5`PN zEi9?<3-;90rogQoWE<%BmJ`&mD^ zR~<6(L@X|?9^q;D&J?&X8)dFuceWZO(x81QCl>n;q0;p?xz#JbJ95st`myli1P_U_sViv_yE zpeuZuZa$ix zY82<22!mRZ<#GP3*@4M<)4wnUCL*EF#9B1-@P1b|N5YD z9p-v*%urBVY{JUrOI7GyaXX0Kjb(ugxum6ziEBd;dF4h~(zA0K@M+a7xefy+I*!k{lK4A++~ zkQyFC52sjB?dt8#Qoe3z4yD?GIPUwyo!I*DI#{hKs*T(J-;GV%_oM%88#s#?3WFXv z5y3Hc{ul9v#}L@(8@b`);6OTvlKx`I&CSN1#;sVgXn|_Ov0xZaANU9_wCqC2=QS0E z1n^k(u%%`2d9`)NwXg}m9cRui<18v9s}8?fvKY^7+k~7+>cndAy@(A@zJ#-%97Qx7 zNGc3^Y6k$0l4`#-J@Xq=;MNYZo%qjd6=v1JX0u}RhQHvRyH-FDJ*gt?XghB!M{nvD10l+c4s(tlpx#7_Tj*PJyug8_C z7Xr5}U5tH=e@B`JNSMWxrhYSr&d zVFAD*2)JwYonm99vHV#j!Mr@jNmF1V68igkerY5OuD%P>f^+Um`0f3B@WS3FG42~k zsH3kP{ui!}1dP590N@XV@#>M|3El;OqOu$OQLb)ylx78h<8BnVd%E+Cgkj^B26U`l zk6>89!9)MV$PeFwcr;du)Dr!{e~+Nl`7u)LljMh1CLM7QkHUZPdtD$$X|-p~E$W6R z0hlw?cwF6CT49KnoKfE}b~QgCCy)|Sr_&0JoCjwE@1Ak~edFZq-d6CIwE-xUOef{*0h9Zq0zqA{cSlV$614yvEUN$aClLGVRQyj>z84k83;-fLHjjz( z;-H4S78F%3?EE2ha@*reg{T?ugiY9lO_;g;2n1C5R_gjzNDovg)Y#>mKNI52Xu7+br_1P zGP4V_tYw^K-Eno9UBnqdokdujs$fe|5D+`FzEEbswF|pGR?)f=86V5|;$d5?ZIiUA z)!w7T-=B2o?(!m(`rAzcI@x z2m)EnU|T!LcB136ciuSkMqMx%6z39wKp-N3c_NIqMM`r_oDR5U;*B!&dKDz{~0km0DBu~d7MJUpRRGpRHO@L&od%08d$8&P0 zwI>Dc>vi80A1h%&9Cxp}9bdltB90x}gTjJY3U9>^(z(ZDuUieoHIQ8MK#r1m{&9}e zrogA%l+)kmEfit70+t{Mz{a)puv$}4_=_ocW%m~3PoJ*iO;UT?;FU{jh$)VE=rCMg zQaMy#3$H0~#EvSD$CIV@EP)_;z%_7Lnwvj$5)M4ufZW_E1|dMEKw_dYg?H8AQ8cIW zq#y`n3Vi9((4wIWm(r!=QY0J^Vf~h;asKkCG~Y2J7YCo)j-2dlolr0XGLB)+Iqdcf zHm7{CGyXk>z@6vL)e&(KQd7o=I0gp?@u!X3am5#q)|5K(@bbPUq-UgS63iG#d5`PN zEi9?<3-;90rogQoWE<%BmJ`&mD^ zR~<6(L@X|?9^q;D&J?&X8)dFuceWZO(x81QCl>n;q0;p?xz#JbJ95st`myli1P_U_sViv_yE zpeuZuZa$ix zY82<22!mRZ<#GP3*@4M<)4wnUCL*EF#9B1-@P1b|N5YD z9p-v*%urBVY{JUrOI7GyaXX0Kjb(ugxum6ziEBd;dF4h~(zA0K@M+a7xefy+I*!k{lK4A++~ zkQyFC52sjB?dt8#Qoe3z4yD?GIPUwyo!I*DI#{hKs*T(J-;GV%_oM%88#s#?3WFXv z5y3Hc{ul9v#}L@(8@b`);6OTvlKx`I&CSN1#;sVgXn|_Ov0xZaANU9_wCqC2=QS0E z1n^k(u%%`2d9`)NwXg}m9cRui<18v9s}8?fvKY^7+k~7+>cndAy@(A@zJ#-%97Qx7 zNGc3^Y6k$0l4`#-J@Xq=;MNYZo%qjd6=v1JX0u}RhQHvRyH-FDJ*gt?XghB!M{nvD10l+c4s(tlpx#7_Tj*PJyug8_C z7Xr5}U5tH=e@B`JNSMWxrhYSr&d zVFAD*2)JwYonm99vHV#j!Mr@jNmF1V68igkerY5OuD%P>f^+Um`0f3B@WS3FG42~k zsH3kP{ui!}1dP590N@XV@#>M|3El;OqOu$OQLb)ylx78h<8BnVd%E+Cgkj^B26U`l zk6>89!9)MV$PeFwcr;du)Dr!{e~+Nl`7u)LljMh1CLM7QkHUZPdtD$$X|-p~E$W6R z0hlw?cwF6CT49KnoKfE}b~QgCCy)|Sr_&0JoCjwE@1Ak~edFZq-d6CIwE-xUOef{*0h9Zq0zqA{cSlV$614yvEUN$aClLGVRQyj>z84k83;-fLHjjz( z;-H4S78F%3?EE2ha@*reg{T?ugiY9lO_;g;2n1C5R_gt5|h9N2@nE3J=UT{ zg;O7u`a-Ek)GCUPR7#}?#V3eSX%$3D?V-w}fJzk<5D`%kkcWAg%`SOCFeC_@-E6X( zxwn68cJ|K9y}Pp<|8sxm3^SRzbLW2F?{U9-Ss-RHi&@NK7PFYe>}P7y#k_Rj6dfx` zD1?MKVIx^}VlFg)64gonUZj2n@AJM*OduwT>g&fyhl7vA062E&5Vf31=vcAp@2}rl zT~(dd?d>)z4=Du&?K=nl1}G?{s%M}Sl#6DViq=Mg_D6ymlb^D2UW1L{RWh zfGbDeyCg&yco9JfWM8l1Ji`Qh-GZFj+L}x~G3Z0D0k7QaBL)-{JP#X<0&Tcc4QLTD z>LcEoAP>(gI1(Jc@fr{Zo6~Vp<$VPxRf8WqFb&hEPKGQKZ2f32e!SpP)dC9A*Or&( zyeJ4oi;579XZaov5EOiO#K2OTx>FzQ2 zp$~xvdkxIG=^6z*0AvhG#ak~ez~I4y`9&=V7DVZbjRsvfYdo&>NtnoBQ$=&+6;E)T zA*haufPHqF?yx(vgWxF(o(8IaaOz7)OwheQJR=QjUtWZ?w6riG&(s8HfU7(%NQH9*KIb#{HoU(Zy)x1Dkvn`4-l|-Je#t4~C{Wde z(7@SZ2OcSm$3>|?DZ!9o+1`Hr2OVO^WrzS`f~~QkAz3YS0{>{E;kz0;9)D&H2%)-u zigPou_O)k`n3TlHcgC|sJ@ByAUGcc)Jzc60JIM7TJYpd%@q7^!ux4nnw zR&C+-IeBajUVHIxFiDaw6@Ch#LkT}x@{1=pZnQ~lQ4v5XiX9GnKVw2iUDVdSy&kLH z-No&9YIz}+J-Zl^gb?_jK|Wk~Y9UJgeYK?KmP5V2XpSq28II10M_kXu?<{ zbe2`F#JVk?ar?euYAF^kd`cD0x{ziIoB^SuOOw8KIk_cnP<8$rBB0CNHSYAO(@6~C zzRMsXL?B{9QL^;K75MMYgWUdS{q`4lY~H+xLPwVh0->Xiioh6i3dgxkrYH%Zl$z{z zdznmnB`DQDBz`CZR=9ej1eC~_zi0_|>_5T%&b-;v@xTKQ>OfqK&{6flobzpE?K7@` zGb#eUZb43cojsiuI&7Y63!i!(SGVcymGN-JU-0?iI_|gr{Ks2x=bf{~sSt5ypj_}E z1Qv^xFV-e*8THP?P%2x z#w4L~$-}sM+H{V`BMTjHLZ4EC+`>{fCHnl2NWjVZ#>pPHJ5E2>vlTb`XmFkX5x38I z7!9Y->Aq=+Gh@}V1(-1Dm%22IBy>cnkXu~V*VLfzaWeDZ${(EbqYdq5L@*;Wk7h*iJed zQglLxGC~K&qkyd$@$nWceBvS8ecO$~&+k9l2;%d?sL;`$18qkZjPsZze*T9gprhm5 zgpT&Mgh)j#NCd!dqt)&CxtHM|%aqRTHmKag&vAj* zmDzx4n{S)!oHbd!0Ah_B0U3Ub-cx5!ja<}>?dbGNPQvqxp1_Q0R|$c4dU~*U^&V{6 z_#bpO9|R?`VW9&`xl>?LN@{QRsFE*)9~BV*Gi=U!drGuIM@>-Rx~#MWuRgyJnL`E% z2XU~f1y3&DjGC`D!{=&K)eR#;M`^DiVPrw68)lO*|Ahqjd;DWhooY@316V9{)Y2Gz zMayh5VeXte@W}ml!EEAJdRZn|z2zHJu3C?d`n@3jo)F+DgbuGZ06^a8GPmRx7eFon zlv2~G4^Nc!_Vk#HO>z1*mu95nwHFp*{McgQhfkk%q2lH3_-w}pc+b{xbKR)W(as7% zD;P7S{dbe}3!tzB>~|v9UQ?TXu|j9sRa5Zd(|0EHz$mSA%_>XM@sI`LKu=09>T{&2f^Zg+cqSo-Ft z*s$RpxKAAhk$d%C=j{X;41Fk@mca0lg`ULZ)FZ;dhzOv7t-oha?a6%{CnUTA}y2Myc;Y5#&@cGXrpryHSlDqSQ#fZ=W zfZ4a*fCZ1vfz@K+en6H9{E^{OT7Ig`KyycVd3!hxl~oCUv1B1j8=Pz;)M6LsC+p zR;UQ4!97RP_bf1$gI^xN?p+`0razwL7ndKqZ#sVgBqYFZ#@PD0+LTB_XT;DWK}&$`q#}UCLg%4-ZWV&}czsx~@?$(S{{=K1+8h9{+1b7R+G!UB9susT z<5ozfI3aid$i94>TMDxPVoenRofj^Ywzak-AcD~8pLPkivlI0{pknz}RDJaxdR(oc z>dXivN-3I7{SXaim7PB8f@HP;{%&EL{L$rZuOIv!SdA$Wu(6pY*40$m2q97=p|f@S zC#p^erC77|5N6I@j$@y$LyzkWQ{?nT?1K-s;jPVk;qLMo1}@742di4JXxSR{cI!7$ zSQ|CE{A9QV5Nk>V4D7<_-L=)JMs{?z@Aw#xrwzgFH(!S?uODx2`3j$XvJKw$I>zhb z|GEMpcwq|$L{9%(b;kol*)p+UVmRZ*Yhkp{|a}U zHSTD{hFSt3%Oy<>&SVxa8wENtC_!(x3)Fj_nU}R54=FmOu0#|##)OW@@`@&UA}xSe zQ))m{Lw$*_+iQ-rqoWfnDv#@zu&QONQK3U43muUajk~h7I>G{oH6;QhDUPs0hqt4{ z)9qlqtW#;ds^_|f!5}|0ZU9ymCJuUv;EQMHvhBMi`9l1gXYK5yY2LfUSKRJl0-jBhURag zea!o@vZk%BFFEY(h$a!ZBr}fPGC?w2{9+cfn8hq+F^gHue)jf%dw!al`W1Bd00000 LNkvXXu0mjf$I{1~ literal 0 HcmV?d00001 diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 85d28dafe5f..bcf94535c88 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -25,7 +25,7 @@ function Start-PSPackage { [string]$Name = "powershell", # Ubuntu, CentOS, Fedora, macOS, and Windows packages are supported - [ValidateSet("deb", "osxpkg", "rpm", "msi", "zip", "nupkg", "tar", "tar-arm", "tar-arm64", "tar-alpine", "fxdependent")] + [ValidateSet("msix", "deb", "osxpkg", "rpm", "msi", "zip", "nupkg", "tar", "tar-arm", "tar-arm64", "tar-alpine", "fxdependent")] [string[]]$Type, # Generate windows downlevel package @@ -254,7 +254,7 @@ function Start-PSPackage { } elseif ($Environment.IsMacOS) { "osxpkg", "nupkg", "tar" } elseif ($Environment.IsWindows) { - "msi", "nupkg" + "msi", "nupkg", "msix" } Write-Warning "-Type was not specified, continuing with $Type!" } @@ -335,6 +335,24 @@ function Start-PSPackage { New-MSIPackage @Arguments } } + "msix" { + $TargetArchitecture = "x64" + if ($Runtime -match "-x86") { + $TargetArchitecture = "x86" + } + + $Arguments = @{ + ProductNameSuffix = $NameSuffix + ProductSourcePath = $Source + ProductVersion = $Version + ProductTargetArchitecture = $TargetArchitecture + Force = $Force + } + + if ($PSCmdlet.ShouldProcess("Create MSI Package")) { + New-MSIXPackage @Arguments + } + } 'nupkg' { $Arguments = @{ PackageNameSuffix = $NameSuffix @@ -2726,6 +2744,83 @@ function New-MSIPackage } } +<# + .Synopsis + Creates a Windows AppX MSIX package and assumes that the binaries are already built using 'Start-PSBuild'. + This only works on a Windows machine due to the usage of makeappx.exe. + .EXAMPLE + # This example shows how to produce a Debug-x64 installer for development purposes. + cd $RootPathOfPowerShellRepo + Import-Module .\build.psm1; Import-Module .\tools\packaging\packaging.psm1 + New-MSIXPackage -Verbose -ProductSourcePath '.\src\powershell-win-core\bin\Debug\netcoreapp2.1\win7-x64\publish' -ProductTargetArchitecture x64 -ProductVersion '1.2.3' +#> +function New-MSIXPackage +{ + [CmdletBinding()] + param ( + + # Name of the Product + [ValidateNotNullOrEmpty()] + [string] $ProductName = 'PowerShell', + + # Suffix of the Name + [string] $ProductNameSuffix, + + # Version of the Product + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $ProductVersion, + + # Source Path to the Product Files - required to package the contents into an MSIX + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $ProductSourcePath, + + # Architecture to use when creating the MSI + [Parameter(Mandatory = $true)] + [ValidateSet("x86", "x64")] + [ValidateNotNullOrEmpty()] + [string] $ProductTargetArchitecture, + + # Force overwrite of package + [Switch] $Force + ) + + $makeappx = Get-Command makeappx -CommandType Application -ErrorAction Ignore + if ($null -eq $makeappx) { + # Try to find in well known location + $makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\$ProductTargetArchitecture" -Include makeappx.exe -Recurse | Select-Object -First 1 + if ($null -eq $makeappx) { + throw "Could not locate makeappx.exe, make sure Windows 10 SDK is installed" + } + } + + $ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion + + # Appx manifest needs to be in root of source path, but the embedded version needs to be updated + $appxManifest = Get-Content "$RepoRoot\assets\AppxManifest.xml" -Raw + $appxManifest = $appxManifest.Replace('$VERSION$', $ProductVersion) + Set-Content -Path "$ProductSourcePath\AppxManifest.xml" -Value $appxManifest -Force + # Necessary image assets need to be in source assets folder + $assets = @( + 'Square150x150Logo.png' + 'Square44x44Logo.png' + 'Square44x44Logo.targetsize-48.png' + 'Square44x44Logo.targetsize-48_altform-unplated.png' + 'StoreLogo.png' + ) + + if (!(Test-Path "$ProductSourcePath\assets")) { + $null = New-Item -ItemType Directory -Path "$ProductSourcePath\assets" + } + + $assets | ForEach-Object { + Copy-Item -Path "$RepoRoot\assets\$_" -Destination "$ProductSourcePath\assets\" + } + + Start-NativeExecution -VerboseOutputOnError { & $makeappx pack /o /v /h SHA256 /d $ProductSourcePath /p (Join-Path -Path $PWD -ChildPath "$ProductName-$ProductVersion.$ProductNameSuffix.msix") } +} + # verify no files have been added or removed # if so, write an error with details function Test-FileWxs From a258c14639f3d3ff76fddbe52f6d1f868e0baa08 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Wed, 3 Apr 2019 13:11:48 -0700 Subject: [PATCH 02/16] update packaging to build for msix --- .../PowerShellPackage.ps1 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index f4bbe70313e..99f2c1fe30a 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -122,6 +122,13 @@ try{ Start-PSPackage @pspackageParams @releaseTagParam } + if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notmatch "arm" -and $Runtime -ne 'fxdependent') + { + $pspackageParams['Type']='msix' + Write-Verbose "Starting powershell packaging(msix)..." -verbose + Start-PSPackage @pspackageParams @releaseTagParam + } + if (!$ComponentRegistration.IsPresent -and $Runtime -ne 'fxdependent') { $pspackageParams['Type']='zip' @@ -131,7 +138,7 @@ try{ Write-Verbose "Exporting packages ..." -verbose - Get-ChildItem $location\*.msi,$location\*.zip,$location\*.wixpdb | ForEach-Object { + Get-ChildItem $location\*.msi,$location\*.zip,$location\*.wixpdb,$location\*.msix | ForEach-Object { $file = $_.FullName Write-Verbose "Copying $file to $destination" -verbose Copy-Item -Path $file -Destination "$destination\" -Force From 665907bae3c350f832c720741f8ffe925ce765b7 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Wed, 3 Apr 2019 13:40:58 -0700 Subject: [PATCH 03/16] add building of the msix to docker image --- tools/packaging/packaging.psm1 | 10 +++++++--- .../microsoft_powershell_windowsservercore/Dockerfile | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index bcf94535c88..4056a922061 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -2788,10 +2788,14 @@ function New-MSIXPackage $makeappx = Get-Command makeappx -CommandType Application -ErrorAction Ignore if ($null -eq $makeappx) { - # Try to find in well known location - $makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\$ProductTargetArchitecture" -Include makeappx.exe -Recurse | Select-Object -First 1 + $makeappx = Get-ChildItem "c:\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 + if ($null -eq $makeappx) { - throw "Could not locate makeappx.exe, make sure Windows 10 SDK is installed" + # Try to find in well known location + $makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\$ProductTargetArchitecture" -Include makeappx.exe -Recurse | Select-Object -First 1 + if ($null -eq $makeappx) { + throw "Could not locate makeappx.exe, make sure Windows 10 SDK is installed" + } } } diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile index 6902ec62e82..a21fbcae7a4 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile @@ -15,6 +15,7 @@ RUN Import-Module ./containerFiles/dockerInstall.psm1; ` # Install WIX ADD https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip /wix.zip +ADD https://pscoretestdata.blob.core.windows.net/build-files/makeappx/makeappx.tgz?sp=r&st=2019-04-03T20:37:29Z&se=2020-04-04T04:37:29Z&spr=https&sv=2018-03-28&sig=wGY3gCjVcyowIfGVKWSdiOlkXMrG243YBp7LWrMB2BY%3D&sr=b /makeappx COPY wix.psm1 containerFiles/wix.psm1 RUN Import-Module ./containerFiles/wix.psm1; ` Install-WixZip -zipPath \wix.Zip From 8d03a5003973d3e919c75f5e996244ed68665d74 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Wed, 3 Apr 2019 13:51:02 -0700 Subject: [PATCH 04/16] update azdevops ymls to sign and publish msix --- .../azureDevOps/templates/upload.yml | 17 +++++++++++++++++ .../templates/windows-package-signing.yml | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/upload.yml b/tools/releaseBuild/azureDevOps/templates/upload.yml index 5bc36404e53..60556eb09ff 100644 --- a/tools/releaseBuild/azureDevOps/templates/upload.yml +++ b/tools/releaseBuild/azureDevOps/templates/upload.yml @@ -2,6 +2,7 @@ parameters: architecture: x86 version: 6.2.0 msi: yes + msix: no steps: - template: upload-final-results.yml @@ -34,3 +35,19 @@ steps: storage: '$(StorageAccount)' ContainerName: '$(AzureVersion)' condition: and(succeeded(), eq(variables['Build.Reason'], 'Manual')) + +- template: upload-final-results.yml + parameters: + artifactPath: $(Build.StagingDirectory)\signedPackages + artifactFilter: PowerShell-${{ parameters.version }}-win-${{ parameters.architecture }}.msix + condition: and(succeeded(), eq('${{ parameters.msix }}', 'yes')) + +- task: AzureFileCopy@1 + displayName: 'upload signed msix to Azure - ${{ parameters.architecture }}' + inputs: + SourcePath: '$(Build.StagingDirectory)\signedPackages\PowerShell-${{ parameters.version }}-win-${{ parameters.architecture }}.msix' + azureSubscription: '$(AzureFileCopySubscription)' + Destination: AzureBlob + storage: '$(StorageAccount)' + ContainerName: '$(AzureVersion)' + condition: and(succeeded(), eq('${{ parameters.msix }}', 'yes'), eq(variables['Build.Reason'], 'Manual')) diff --git a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml index 1397bf6848e..2f0c546d385 100644 --- a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml @@ -34,7 +34,7 @@ jobs: continueOnError: true - powershell: | - tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msi","$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msi" -path "$(System.ArtifactsDirectory)\package.xml" + tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msi","$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msi","$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msix" -path "$(System.ArtifactsDirectory)\package.xml" displayName: 'Generate Package Signing Xml' - powershell: | @@ -61,6 +61,7 @@ jobs: parameters: architecture: x64 version: $(version) + msix: yes - template: upload.yml parameters: From 37ef94233a66cd3e26c39ac7199696d41c1fbe87 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Wed, 3 Apr 2019 14:36:46 -0700 Subject: [PATCH 05/16] address Aditya's feedback --- tools/packaging/packaging.psm1 | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 4056a922061..cfe402eee0a 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -336,16 +336,10 @@ function Start-PSPackage { } } "msix" { - $TargetArchitecture = "x64" - if ($Runtime -match "-x86") { - $TargetArchitecture = "x86" - } - $Arguments = @{ ProductNameSuffix = $NameSuffix ProductSourcePath = $Source ProductVersion = $Version - ProductTargetArchitecture = $TargetArchitecture Force = $Force } @@ -2776,23 +2770,17 @@ function New-MSIXPackage [ValidateNotNullOrEmpty()] [string] $ProductSourcePath, - # Architecture to use when creating the MSI - [Parameter(Mandatory = $true)] - [ValidateSet("x86", "x64")] - [ValidateNotNullOrEmpty()] - [string] $ProductTargetArchitecture, - # Force overwrite of package [Switch] $Force ) $makeappx = Get-Command makeappx -CommandType Application -ErrorAction Ignore if ($null -eq $makeappx) { - $makeappx = Get-ChildItem "c:\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 + $makeappx = Get-ChildItem "$($env:SystemDrive):\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 if ($null -eq $makeappx) { # Try to find in well known location - $makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\$ProductTargetArchitecture" -Include makeappx.exe -Recurse | Select-Object -First 1 + $makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64" -Include makeappx.exe -Recurse | Select-Object -First 1 if ($null -eq $makeappx) { throw "Could not locate makeappx.exe, make sure Windows 10 SDK is installed" } From c5a385ab3b28a453f416ee1c2d9f7be923e9a108 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 12:58:12 -0700 Subject: [PATCH 06/16] address Ilya and Travis' feedback --- tools/packaging/packaging.psm1 | 2 +- .../Images/microsoft_powershell_windowsservercore/Dockerfile | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index cfe402eee0a..e7685666c87 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -343,7 +343,7 @@ function Start-PSPackage { Force = $Force } - if ($PSCmdlet.ShouldProcess("Create MSI Package")) { + if ($PSCmdlet.ShouldProcess("Create MSIX Package")) { New-MSIXPackage @Arguments } } diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile index a21fbcae7a4..84762176ead 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile @@ -15,11 +15,14 @@ RUN Import-Module ./containerFiles/dockerInstall.psm1; ` # Install WIX ADD https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip /wix.zip -ADD https://pscoretestdata.blob.core.windows.net/build-files/makeappx/makeappx.tgz?sp=r&st=2019-04-03T20:37:29Z&se=2020-04-04T04:37:29Z&spr=https&sv=2018-03-28&sig=wGY3gCjVcyowIfGVKWSdiOlkXMrG243YBp7LWrMB2BY%3D&sr=b /makeappx COPY wix.psm1 containerFiles/wix.psm1 RUN Import-Module ./containerFiles/wix.psm1; ` Install-WixZip -zipPath \wix.Zip +# Install makeappx +ADD https://pscoretestdata.blob.core.windows.net/build-files/makeappx/makeappx.zip?sp=r&st=2019-04-04T19:56:37Z&se=2020-04-05T03:56:37Z&spr=https&sv=2018-03-28&sig=yMnRsS1t9mt552qCVH9%2FlpLxsy9LKnwTVr5au2hFZjU%3D&sr=b /makeappx.zip +RUN Expand-Archive /makeappx.zip + COPY PowerShellPackage.ps1 / ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 From 77503e7f476065f593b8aaf5f73329738ccea4fc Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 13:58:40 -0700 Subject: [PATCH 07/16] specify that the msix only works on 1809, fix searching of makeappx for docker --- assets/AppxManifest.xml | 2 +- tools/packaging/packaging.psm1 | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/AppxManifest.xml b/assets/AppxManifest.xml index 50209bf6dfa..26469984e24 100644 --- a/assets/AppxManifest.xml +++ b/assets/AppxManifest.xml @@ -16,7 +16,7 @@ - + diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index e7685666c87..c7362167d99 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -2776,7 +2776,8 @@ function New-MSIXPackage $makeappx = Get-Command makeappx -CommandType Application -ErrorAction Ignore if ($null -eq $makeappx) { - $makeappx = Get-ChildItem "$($env:SystemDrive):\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 + # This is location in our dockerfile + $makeappx = Get-ChildItem "$($env:SystemDrive)\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 if ($null -eq $makeappx) { # Try to find in well known location From fa1226773342c57d113422bf0b65335e2f1c83dc Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 14:25:20 -0700 Subject: [PATCH 08/16] makeappx is very specific about version strings, need to add revision also fixed the search for makeappx when running locally --- assets/AppxManifest.xml | 2 +- tools/packaging/packaging.psm1 | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/assets/AppxManifest.xml b/assets/AppxManifest.xml index 26469984e24..c03c9ec86d3 100644 --- a/assets/AppxManifest.xml +++ b/assets/AppxManifest.xml @@ -16,7 +16,7 @@ - + diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index c7362167d99..78450429c12 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -2777,7 +2777,10 @@ function New-MSIXPackage $makeappx = Get-Command makeappx -CommandType Application -ErrorAction Ignore if ($null -eq $makeappx) { # This is location in our dockerfile - $makeappx = Get-ChildItem "$($env:SystemDrive)\makeappx" -Include makeappx.exe -Recurse | Select-Object -First 1 + $dockerPath = Join-Path $env:SystemDrive "makeappx" + if (Test-Path $dockerPath) { + $makeappx = Get-ChildItem $dockerPath -Include makeappx.exe -Recurse | Select-Object -First 1 + } if ($null -eq $makeappx) { # Try to find in well known location @@ -2789,6 +2792,9 @@ function New-MSIXPackage } $ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion + if (([Version]$ProductVersion).Revision -eq -1) { + $ProductVersion += ".0" + } # Appx manifest needs to be in root of source path, but the embedded version needs to be updated $appxManifest = Get-Content "$RepoRoot\assets\AppxManifest.xml" -Raw From d1407e683f9f43abd97434d4730ff901a2c911e8 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 15:34:55 -0700 Subject: [PATCH 09/16] enable build for arm/arm64 and update expected artifacts --- .../PowerShellPackage.ps1 | 2 +- tools/releaseBuild/build.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index 99f2c1fe30a..1b364894274 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -122,7 +122,7 @@ try{ Start-PSPackage @pspackageParams @releaseTagParam } - if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notmatch "arm" -and $Runtime -ne 'fxdependent') + if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notin "win7-x86",'fxdependent') { $pspackageParams['Type']='msix' Write-Verbose "Starting powershell packaging(msix)..." -verbose diff --git a/tools/releaseBuild/build.json b/tools/releaseBuild/build.json index 95cefcbb4d2..694e0c05c71 100644 --- a/tools/releaseBuild/build.json +++ b/tools/releaseBuild/build.json @@ -152,7 +152,7 @@ ], "DockerImageName": "ps-winsrvcore", "BinaryBucket": "signed", - "ArtifactsExpected": 3, + "ArtifactsExpected": 4, "EnableFeature": [ "ArtifactAsFolder" ] }, { @@ -190,7 +190,7 @@ ], "DockerImageName": "ps-winsrvcore", "BinaryBucket": "signed", - "ArtifactsExpected": 1, + "ArtifactsExpected": 2, "EnableFeature": [ "ArtifactAsFolder" ] }, { @@ -209,7 +209,7 @@ ], "DockerImageName": "ps-winsrvcore", "BinaryBucket": "signed", - "ArtifactsExpected": 1, + "ArtifactsExpected": 2, "EnableFeature": [ "ArtifactAsFolder" ] }, { From 3426a5aaa40855ed3b1a6ec7dbc48f22a70ba648 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 21:36:46 -0700 Subject: [PATCH 10/16] add capability to not use virtualized resources fix packaging to create resources.pri so that taskbar icon doesn't have background border fix naming of package to align with msi package --- assets/AppxManifest.xml | 11 ++++++++--- tools/packaging/packaging.psm1 | 19 ++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/assets/AppxManifest.xml b/assets/AppxManifest.xml index c03c9ec86d3..586562ac6b7 100644 --- a/assets/AppxManifest.xml +++ b/assets/AppxManifest.xml @@ -1,11 +1,13 @@  - + xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" + xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6" + xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"> @@ -13,6 +15,8 @@ PowerShell Core 6 Microsoft Corporation assets\StoreLogo.png + disabled + disabled @@ -40,5 +44,6 @@ + diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 78450429c12..005aaf05f9a 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -2791,6 +2791,15 @@ function New-MSIXPackage } } + $makepri = Get-Item (Join-Path $makeappx.Directory "makepri.exe") -ErrorAction Stop + + $ProductSemanticVersion = Get-PackageSemanticVersion -Version $ProductVersion + $productSemanticVersionWithName = $ProductName + '-' + $ProductSemanticVersion + $packageName = $productSemanticVersionWithName + if ($ProductNameSuffix) { + $packageName += "-$ProductNameSuffix" + } + $ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion if (([Version]$ProductVersion).Revision -eq -1) { $ProductVersion += ".0" @@ -2817,7 +2826,15 @@ function New-MSIXPackage Copy-Item -Path "$RepoRoot\assets\$_" -Destination "$ProductSourcePath\assets\" } - Start-NativeExecution -VerboseOutputOnError { & $makeappx pack /o /v /h SHA256 /d $ProductSourcePath /p (Join-Path -Path $PWD -ChildPath "$ProductName-$ProductVersion.$ProductNameSuffix.msix") } + Write-Verbose "Creating priconfig.xml" -Verbose + Start-NativeExecution -VerboseOutputOnError { & $makepri createconfig /o /cf (Join-Path $ProductSourcePath "priconfig.xml") /dq en-US } + Write-Verbose "Creating resources.pri" -Verbose + Push-Location $ProductSourcePath + Start-NativeExecution -VerboseOutputOnError { & $makepri new /v /o /pr $ProductSourcePath /cf (Join-Path $ProductSourcePath "priconfig.xml") } + Pop-Location + Write-Verbose "Creating msix package" -Verbose + Start-NativeExecution -VerboseOutputOnError { & $makeappx pack /o /v /h SHA256 /d $ProductSourcePath /p (Join-Path -Path $PWD -ChildPath "$packageName.msix") } + Write-Verbose "Created $packageName.msix" -Verbose } # verify no files have been added or removed From 80fd045491a507610a068b5ec197e0c0738869ee Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Thu, 4 Apr 2019 22:09:45 -0700 Subject: [PATCH 11/16] address scriptanalyzer issue --- tools/packaging/packaging.psm1 | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 005aaf05f9a..c754aab38de 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -2750,7 +2750,7 @@ function New-MSIPackage #> function New-MSIXPackage { - [CmdletBinding()] + [CmdletBinding(SupportsShouldProcess, ConfirmImpact='Low')] param ( # Name of the Product @@ -2826,15 +2826,17 @@ function New-MSIXPackage Copy-Item -Path "$RepoRoot\assets\$_" -Destination "$ProductSourcePath\assets\" } - Write-Verbose "Creating priconfig.xml" -Verbose - Start-NativeExecution -VerboseOutputOnError { & $makepri createconfig /o /cf (Join-Path $ProductSourcePath "priconfig.xml") /dq en-US } - Write-Verbose "Creating resources.pri" -Verbose - Push-Location $ProductSourcePath - Start-NativeExecution -VerboseOutputOnError { & $makepri new /v /o /pr $ProductSourcePath /cf (Join-Path $ProductSourcePath "priconfig.xml") } - Pop-Location - Write-Verbose "Creating msix package" -Verbose - Start-NativeExecution -VerboseOutputOnError { & $makeappx pack /o /v /h SHA256 /d $ProductSourcePath /p (Join-Path -Path $PWD -ChildPath "$packageName.msix") } - Write-Verbose "Created $packageName.msix" -Verbose + if ($PSCmdlet.ShouldProcess("Create .msix package?")) { + Write-Verbose "Creating priconfig.xml" -Verbose + Start-NativeExecution -VerboseOutputOnError { & $makepri createconfig /o /cf (Join-Path $ProductSourcePath "priconfig.xml") /dq en-US } + Write-Verbose "Creating resources.pri" -Verbose + Push-Location $ProductSourcePath + Start-NativeExecution -VerboseOutputOnError { & $makepri new /v /o /pr $ProductSourcePath /cf (Join-Path $ProductSourcePath "priconfig.xml") } + Pop-Location + Write-Verbose "Creating msix package" -Verbose + Start-NativeExecution -VerboseOutputOnError { & $makeappx pack /o /v /h SHA256 /d $ProductSourcePath /p (Join-Path -Path $PWD -ChildPath "$packageName.msix") } + Write-Verbose "Created $packageName.msix" -Verbose + } } # verify no files have been added or removed From e20c7cd6bd634105846c7255a78c379350cf977a Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Fri, 5 Apr 2019 11:04:43 -0700 Subject: [PATCH 12/16] update blog to include makepri --- .../Images/microsoft_powershell_windowsservercore/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile index 84762176ead..ef24e3aa7e9 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile @@ -19,8 +19,8 @@ COPY wix.psm1 containerFiles/wix.psm1 RUN Import-Module ./containerFiles/wix.psm1; ` Install-WixZip -zipPath \wix.Zip -# Install makeappx -ADD https://pscoretestdata.blob.core.windows.net/build-files/makeappx/makeappx.zip?sp=r&st=2019-04-04T19:56:37Z&se=2020-04-05T03:56:37Z&spr=https&sv=2018-03-28&sig=yMnRsS1t9mt552qCVH9%2FlpLxsy9LKnwTVr5au2hFZjU%3D&sr=b /makeappx.zip +# Install makeappx and makepri +ADD https://pscoretestdata.blob.core.windows.net/build-files/makeappx/makeappx.zip?sp=r&st=2019-04-05T18:02:52Z&se=2020-04-06T02:02:52Z&spr=https&sv=2018-03-28&sig=t07uC1K3uFLtINQsmorHobgPh%2B%2BBgjFnmHEJGNZT6Hk%3D&sr=b /makeappx.zip RUN Expand-Archive /makeappx.zip COPY PowerShellPackage.ps1 / From 15df532db983135eb554f013f2d7cc3c5582e004 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Fri, 5 Apr 2019 12:52:31 -0700 Subject: [PATCH 13/16] enable build for arm32 and arm64 --- tools/releaseBuild/azureDevOps/templates/upload.yml | 2 +- .../azureDevOps/templates/windows-package-signing.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/templates/upload.yml b/tools/releaseBuild/azureDevOps/templates/upload.yml index 60556eb09ff..2d965c434a6 100644 --- a/tools/releaseBuild/azureDevOps/templates/upload.yml +++ b/tools/releaseBuild/azureDevOps/templates/upload.yml @@ -2,7 +2,7 @@ parameters: architecture: x86 version: 6.2.0 msi: yes - msix: no + msix: yes steps: - template: upload-final-results.yml diff --git a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml index 2f0c546d385..291a12520bf 100644 --- a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml @@ -56,12 +56,12 @@ jobs: parameters: architecture: x86 version: $(version) + msix: no - template: upload.yml parameters: architecture: x64 version: $(version) - msix: yes - template: upload.yml parameters: @@ -80,6 +80,7 @@ jobs: architecture: fxdependent version: $(version) msi: no + msix: no - task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@3 displayName: 'Run Defender Scan' From 7cd1e1df60bb8b4167d4cc42ebbd16e3107281a5 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Fri, 5 Apr 2019 13:32:18 -0700 Subject: [PATCH 14/16] add arm32 and arm64 to signing --- .../azureDevOps/templates/windows-package-signing.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml index 291a12520bf..7884646da06 100644 --- a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml @@ -34,7 +34,14 @@ jobs: continueOnError: true - powershell: | - tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msi","$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msi","$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msix" -path "$(System.ArtifactsDirectory)\package.xml" + $authenticodefiles = @( + "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msi" + "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x86.msi" + "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-x64.msix" + "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm32.msix" + "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm64.msix" + ) + tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles $authenicodeFiles -path "$(System.ArtifactsDirectory)\package.xml" displayName: 'Generate Package Signing Xml' - powershell: | From 1250f6e9097ad19fddecbf3646fdf9d1ea3c13bd Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Fri, 5 Apr 2019 13:52:34 -0700 Subject: [PATCH 15/16] spell Authenticode correctly --- .../azureDevOps/templates/windows-package-signing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml index 7884646da06..da05a52d049 100644 --- a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml @@ -41,7 +41,7 @@ jobs: "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm32.msix" "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-arm64.msix" ) - tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles $authenicodeFiles -path "$(System.ArtifactsDirectory)\package.xml" + tools/releaseBuild/generatePackgeSigning.ps1 -AuthenticodeFiles $authenticodeFiles -path "$(System.ArtifactsDirectory)\package.xml" displayName: 'Generate Package Signing Xml' - powershell: | From 0aa6e19490823e8424ebce153f6eaf85eb4f32f0 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL)" Date: Mon, 15 Apr 2019 13:16:59 -0700 Subject: [PATCH 16/16] address Aditya's feedback --- .../PowerShellPackage.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index 1b364894274..ffa5832c110 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -116,13 +116,13 @@ try{ $pspackageParams = @{'Type'='msi'; 'WindowsRuntime'=$Runtime} } - if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notmatch "arm" -and $Runtime -ne 'fxdependent') + if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notmatch 'arm' -and $Runtime -ne 'fxdependent') { Write-Verbose "Starting powershell packaging(msi)..." -verbose Start-PSPackage @pspackageParams @releaseTagParam } - if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notin "win7-x86",'fxdependent') + if (!$ComponentRegistration.IsPresent -and !$Symbols.IsPresent -and $Runtime -notin 'win7-x86','fxdependent') { $pspackageParams['Type']='msix' Write-Verbose "Starting powershell packaging(msix)..." -verbose