Skip to content

Commit

Permalink
Add per user installer
Browse files Browse the repository at this point in the history
  • Loading branch information
stefansjfw committed Feb 13, 2023
1 parent f34ff70 commit 65a7b88
Show file tree
Hide file tree
Showing 43 changed files with 2,865 additions and 877 deletions.
33 changes: 20 additions & 13 deletions .github/actions/spell-check/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ ALPHATYPE
Altdown
alwaysontop
amd
AMF
AModifier
AMPROPERTY
AMPROPSETID
Expand All @@ -52,6 +51,7 @@ ansicolor
ANull
AOC
aocfnapldcnfbofgmbbllojgocaelgdd
AOT
APARTMENTTHREADED
APeriod
APIENTRY
Expand All @@ -64,8 +64,8 @@ appium
Applets
Applicationcan
applicationconfiguration
applicationconfiguration
applicationframehost
Applist
applog
appmanifest
appref
Expand Down Expand Up @@ -203,7 +203,7 @@ Choibalsan
chrdavis
chromaticities
Chrzan
cht
CHT
Chukotka
Chuuk
CIELAB
Expand Down Expand Up @@ -237,6 +237,7 @@ CMONITORS
cmpgt
cmyk
cne
Cng
cnt
Cocklebiddy
coclass
Expand Down Expand Up @@ -293,6 +294,7 @@ cppruntime
cppstd
cppwinrt
CProj
createdump
CREATESCHEDULEDTASK
CREATESTRUCT
CREATEWINDOWFAILED
Expand All @@ -307,7 +309,6 @@ CSRW
CStyle
CSY
CTest
Ctl
CTRLALTDEL
Ctrls
Ctx
Expand Down Expand Up @@ -390,7 +391,7 @@ DESKTOPABSOLUTEEDITING
DESKTOPABSOLUTEPARSING
desktopshorcutinstalled
desktopwindowxamlsource
deu
DEU
devblogs
devdocs
devenum
Expand Down Expand Up @@ -477,7 +478,7 @@ ENABLEDPOPUP
endpointvolume
endregion
ENTERSIZEMOVE
enu
ENU
enumerationoptions
EOAC
epicgames
Expand All @@ -490,7 +491,6 @@ ERRORLEVEL
ERRORTITLE
ESettings
esize
esn
esrp
Eswatini
etl
Expand Down Expand Up @@ -599,7 +599,6 @@ GETTEXT
GETTEXTLENGTH
GHND
globalassemblycache
Globbing
GMEM
GNumber
google
Expand Down Expand Up @@ -793,6 +792,7 @@ ipcmanager
IPlugin
IPower
IPREVIEW
IPREVIEW
ipreviewhandler
ipreviewhandlervisualssetfont
IProperty
Expand Down Expand Up @@ -821,7 +821,7 @@ jgeosdfsdsgmkedfgdfgdfgbkmhcgcflmi
jjw
jobject
jpe
jpn
JPN
jpnime
Jsons
jsonval
Expand All @@ -845,6 +845,7 @@ keynum
keyremaps
Keytool
keyup
Kfiles
Khakassia
Khanty
Khovd
Expand All @@ -862,6 +863,7 @@ Kyzylorda
LAlt
Lambson
langword
lastcodeanalysissucceeded
Lastdevice
Laute
laviusmotileng
Expand Down Expand Up @@ -902,6 +904,7 @@ LMEM
LMENU
lnk
LOADFROMFILE
LOADFROMFILE
LOADLIBRARYASDATAFILE
LOBYTE
LOCALAPPDATA
Expand All @@ -914,12 +917,14 @@ logconsole
logfile
LOGFONT
LOGFONTW
LOGFONTW
LOGMSG
logon
LOGPIXELSX
LOn
longdate
LONGLONG
louncher
lowlevel
LOWORD
lparam
Expand Down Expand Up @@ -981,6 +986,8 @@ MAPTOSAMESHORTCUT
MAPVK
Markdig
markdownpreviewhandler
markdownpreviewhandler
MARKDOWNPREVIEWHANDLERCPP
MARKDOWNPREVIEWHANDLERCPP
Markovic
Marquesas
Expand Down Expand Up @@ -1014,7 +1021,6 @@ Metadatas
metafile
mfapi
mfc
mfcm
mfidl
mfobjects
mfplat
Expand Down Expand Up @@ -1439,7 +1445,6 @@ RECTDESTINATION
RECTL
rectp
rects
recyclebin
redirectedfrom
redist
redistributable
Expand Down Expand Up @@ -1533,7 +1538,7 @@ runtimedepsjsonpath
runtimeobject
runtimepack
runtimes
rus
RUS
Rutkas
RValue
rvm
Expand Down Expand Up @@ -1603,7 +1608,6 @@ SHGFI
Shl
shldisp
shlobj
Shlw
shlwapi
shmem
shobjidl
Expand Down Expand Up @@ -1803,6 +1807,7 @@ THICKFRAME
THISCOMPONENT
THotkey
thumbcache
thumbcache
TILEDWINDOW
timedate
timediff
Expand Down Expand Up @@ -1878,6 +1883,7 @@ Uniquifies
unitconverter
unittests
Unk
Unk
unknwn
UNLEN
Unmap
Expand Down Expand Up @@ -2075,6 +2081,7 @@ wox
wparam
wpf
wpfdepsjsonpath
wpfgfx
wpftmp
wpr
wprp
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,3 @@ src/common/Telemetry/*.etl
/src/modules/previewpane/SvgThumbnailProvider/$(SolutionDir)$(Platform)/$(Configuration)/modules/FileExplorerPreview/SvgThumbnailProvider.xml
/src/modules/powerrename/ui/RCa24464
/src/modules/powerrename/ui/RCb24464

# Generated installer file for Monaco source files.
/installer/PowerToysSetup/MonacoSRC.wxs
1 change: 1 addition & 0 deletions .pipelines/ESRPSigning_core.json
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@
"modules\\FileExplorerPreview\\Microsoft.Web.WebView2.Wpf.dll",
"modules\\FileExplorerPreview\\WebView2Loader.dll",
"modules\\Hosts\\Microsoft.Graphics.Canvas.Interop.dll",
"modules\\Hosts\\clrcompression.dll",
"modules\\launcher\\e_sqlite3.dll",
"modules\\launcher\\LazyCache.dll",
"modules\\launcher\\SQLitePCLRaw.batteries_v2.dll",
Expand Down
25 changes: 23 additions & 2 deletions .pipelines/ci/templates/build-powertoys-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ steps:
filePath: '$(build.sourcesdirectory)\.pipelines\installWiX.ps1'

- task: VSBuild@1
displayName: 'Build PowerToys MSI'
displayName: 'Build PowerToys per-machine MSI'
inputs:
solution: '**\installer\PowerToysSetup.sln'
vsVersion: 17.0
Expand All @@ -163,7 +163,7 @@ steps:
maximumCpuCount: true

- task: VSBuild@1
displayName: 'Build PowerToys Bootstrapper'
displayName: 'Build PowerToys per-machine Bootstrapper'
inputs:
solution: '**\installer\PowerToysSetup.sln'
vsVersion: 17.0
Expand All @@ -173,6 +173,27 @@ steps:
clean: false
maximumCpuCount: true

- task: VSBuild@1
displayName: 'Build PowerToys per-user MSI'
inputs:
solution: '**\installer\PowerToysSetup.sln'
vsVersion: 17.0
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArgs: /t:PowerToysInstaller ${{ parameters.additionalBuildArguments }} /p:PerUser=true
maximumCpuCount: true

- task: VSBuild@1
displayName: 'Build PowerToys per-user Bootstrapper'
inputs:
solution: '**\installer\PowerToysSetup.sln'
vsVersion: 17.0
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArgs: /t:PowerToysBootstrapper ${{ parameters.additionalBuildArguments }} /p:PerUser=true
clean: false
maximumCpuCount: true

# directly not doing WinAppDriver testing
- task: VSTest@2
displayName: 'MS Tests'
Expand Down
6 changes: 4 additions & 2 deletions .pipelines/versionAndSignCheck.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ $items | ForEach-Object {
(-not $_.Name.EndsWith("Microsoft.Xaml.Interactions.dll")) -and
(-not $_.Name.EndsWith("Microsoft.Xaml.Interactivity.dll")) -and
(-not $_.Name.EndsWith("hyjiacan.py4n.dll")) -and
(-not $_.Name.EndsWith("Microsoft.WindowsAppRuntime.Release.Net.dll"))
(-not $_.Name.EndsWith("Microsoft.WindowsAppRuntime.Release.Net.dll")) -and
(-not $_.Name.EndsWith("Microsoft.Windows.Widgets.Projection.dll"))
)
{
Write-Host "Version set to 1.0.0.0: " + $_.FullName
Expand All @@ -63,7 +64,8 @@ $items | ForEach-Object {
(-not $_.Name.EndsWith("MRM.dll")) -and
(-not $_.Name.EndsWith("PushNotificationsLongRunningTask.ProxyStub.dll")) -and
(-not $_.Name.EndsWith("WindowsAppSdk.AppxDeploymentExtensions.Desktop.dll")) -and
(-not $_.Name.EndsWith("System.Diagnostics.EventLog.Messages.dll"))
(-not $_.Name.EndsWith("System.Diagnostics.EventLog.Messages.dll")) -and
(-not $_.Name.EndsWith("Microsoft.Windows.Widgets.dll"))
)
{
Write-Host "Version not set: " + $_.FullName
Expand Down
23 changes: 12 additions & 11 deletions installer/PowerToysSetup/AlwaysOnTop.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,22 @@

<?include $(sys.CURRENTDIR)\Common.wxi?>

<?define AlwaysOnTopFiles=?>
<?define AlwaysOnTopFilesPath=$(var.BinDir)modules\$(var.AlwaysOnTopProjectName)\?>

<Fragment>
<!-- AlwaysOnTop -->
<DirectoryRef Id="AlwaysOnTopInstallFolder" FileSource="$(var.BinDir)modules\$(var.AlwaysOnTopProjectName)">
<Component Id="Module_AlwaysOnTopInterface" Win64="yes">
<File Source="$(var.BinDir)modules\$(var.AlwaysOnTopProjectName)\PowerToys.AlwaysOnTopModuleInterface.dll" />
</Component>
<Component Id="Module_AlwaysOnTop" Win64="yes">
<File Source="$(var.BinDir)modules\$(var.AlwaysOnTopProjectName)\PowerToys.AlwaysOnTop.exe" />
</Component>

<!-- Generated by generateFileComponents.ps1 -->
<!--AlwaysOnTopFiles_Component_Def-->
</DirectoryRef>

<ComponentGroup Id="AlwaysOnTopComponentGroup" Directory="INSTALLFOLDER">
<ComponentRef Id="Module_AlwaysOnTop"/>
<ComponentRef Id="Module_AlwaysOnTopInterface"/>
<ComponentGroup Id="AlwaysOnTopComponentGroup">
<Component Id="RemoveAOTFolder" Guid="9966E305-C8B9-43D8-9F4A-30CD0E3746A5" Directory="AlwaysOnTopInstallFolder" >
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
<RegistryValue Type="string" Name="RemoveAOTFolder" Value="" KeyPath="yes"/>
</RegistryKey>
<RemoveFolder Id="RemoveFolderAOTFolder" On="uninstall"/>
</Component>
</ComponentGroup>

</Fragment>
Expand Down
30 changes: 16 additions & 14 deletions installer/PowerToysSetup/Awake.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,31 @@

<?include $(sys.CURRENTDIR)\Common.wxi?>

<?define AwakeFiles=PowerToys.AwakeModuleInterface.dll;PowerToys.ManagedCommon.dll;System.Management.dll;System.CodeDom.dll;System.Text.Json.dll;PowerToys.ManagedTelemetry.dll;PowerToys.Settings.UI.Lib.dll;NLog.config;NLog.dll;PowerToys.Awake.deps.json;PowerToys.Awake.dll;PowerToys.Awake.exe;PowerToys.Awake.runtimeconfig.json;System.CommandLine.dll;System.IO.Abstractions.dll;System.Reactive.dll;System.Runtime.Caching.dll;Ijwhost.dll;Microsoft.Windows.SDK.NET.dll;WinRT.Runtime.dll;PowerToys.GPOWrapper.dll;WindowsBase.dll?>
<?define AwakeFiles=?>
<?define AwakeFilesPath=$(var.BinDir)modules\$(var.AwakeProjectName)\?>
<?define AwakeImagesFiles=?>
<?define AwakeImagesFilesPath=$(var.BinDir)modules\$(var.AwakeProjectName)\Images?>

<Fragment>
<!-- Awake -->
<DirectoryRef Id="AwakeInstallFolder" FileSource="$(var.BinDir)modules\$(var.AwakeProjectName)">
<!-- !Warning! Make sure to change Component Guid if you update the file list -->
<Component Id="Module_Awake" Guid="0D571D9A-743B-4CC5-9297-F0289FBE3398" Win64="yes">
<?foreach File in $(var.AwakeFiles)?>
<File Id="AwakeFile_$(var.File)" Source="$(var.BinDir)modules\$(var.AwakeProjectName)\$(var.File)" />
<?endforeach?>
</Component>
<!-- Generated by generateFileComponents.ps1 -->
<!--AwakeFiles_Component_Def-->
</DirectoryRef>

<!-- Awake images -->
<DirectoryRef Id="AwakeImagesFolder" FileSource="$(var.BinDir)modules\$(var.AwakeProjectName)\Images">
<Component Id="Module_Awake_Images" >
<File Id="Awake_Awake.ico" Source="$(var.BinDir)modules\$(var.AwakeProjectName)\Images\Awake.ico" />
</Component>
<!-- Generated by generateFileComponents.ps1 -->
<!--AwakeImagesFiles_Component_Def-->
</DirectoryRef>

<ComponentGroup Id="AwakeComponentGroup" Directory="INSTALLFOLDER">
<ComponentRef Id="Module_Awake"/>
<ComponentRef Id="Module_Awake_Images"/>
<ComponentGroup Id="AwakeComponentGroup">
<Component Id="RemoveAwakeFolder" Guid="95D7774C-69A3-48A3-B417-1BD9664BE974" Directory="AwakeInstallFolder" >
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
<RegistryValue Type="string" Name="RemoveAwakeFolder" Value="" KeyPath="yes"/>
</RegistryKey>
<RemoveFolder Id="RemoveFolderAwakeFolder" Directory="AwakeInstallFolder" On="uninstall"/>
<RemoveFolder Id="RemoveFolderAwakeImagesFolder" Directory="AwakeImagesFolder" On="uninstall"/>
</Component>
</ComponentGroup>

</Fragment>
Expand Down
Loading

0 comments on commit 65a7b88

Please sign in to comment.