PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

[Setup] Support per-user installation

Open yuyoyuppe opened this issue 3 years ago • 7 comments

Description of the new feature / enhancement

Moving to a full per user proved to be not so simple. This issue tries to have a comprehensive list of issues with it:

  • Cannot uninstall previous versions w/o elevation, since accessing locations like Program Files isn't possible with limited privileges. Looks like the least awkward solution is to employ elevated WiX bootstrapper for this somehow.
  • If Product is switched to perUser, WiX start requiring using explicit registry keypaths as well as explicit RemoveFiles elements, and those do not properly support downgrading and upgrading to a different install directory. We might try removing explicit Id/Guid for Components, also that'll likely resolve infamous missing app.dark.png class of issues.

Scenario when this would be used?

  • some environments disallow elevation
  • installation is more contained and cannot interfere with other users

Supporting information

No response

yuyoyuppe avatar Jan 13 '22 13:01 yuyoyuppe

Would love to see the per user installation of PT ❤

plattenschieber avatar Jan 31 '22 09:01 plattenschieber

It will be a very interesting feature.

alanlivio avatar Jan 31 '22 15:01 alanlivio

What is the main reason to migrate from per machine to per-user installation?

  1. From Description: "Cannot uninstall previous versions w/o elevation..." Why this is a problem, as you cannot install anything without elevation so you will not be able to uninstall as well without admin rights?

  2. Which user groups need this "feature" - enterprise or home users? Enterprise users do not have admin rights and apps are installed using SCCM or Intune. For SCCM and Intune you need per machine installer. For more context here is complaints/feature request from enterprises for MS Teams per-user installer. https://feedbackportal.microsoft.com/feedback/idea/96fe0515-272e-ec11-b6e6-00224827bbc2 Home users usually have admin rights.

  3. If you want to remove UAC for some functionality have you considered creating a driver to handle functions that needs admin rights? That is the safest way I personally know. Moving executables to a per-user location that can run in an admin context is a security risk.

Thanks!

TOKN2 avatar Sep 30 '22 13:09 TOKN2

I'm not sure which utilities require administrative privileges to run, but those utilities could simply be disabled or hidden in a per-user install. Then at least some of the utilities could be available to enterprise users that don't have access to administrative rights.

tfishr avatar Jan 07 '23 02:01 tfishr

@tfishr, that is accounted for, the big issue was runtimes needing UAC.

crutkas avatar Jan 11 '23 21:01 crutkas

Will there still be the option of a per machine install? As @TOKN2 mentioned, when doing controlled deployments especially in enterprises you want the software installed across the device and only the person who logs on to save their specific settings.

If there is the option of a perUser install, it would also be nice if there was a capability of blocking the ability to perform a perUser install - something that is becoming a great challenge in enterprises when people download software that runs in user or portable mode.

ukdocCT avatar Feb 03 '23 16:02 ukdocCT

Will there still be the option of a per machine install? As @TOKN2 mentioned, when doing controlled deployments especially in enterprises you want the software installed across the device and only the person who logs on to save their specific settings.

There will still be per machine install. I'll reword the title to avoid the confusion.

If there is the option of a perUser install, it would also be nice if there was a capability of blocking the ability to perform a perUser install - something that is becoming a great challenge in enterprises when people download software that runs in user or portable mode.

This is a good point. We'll have this in mind.

stefansjfw avatar Feb 03 '23 16:02 stefansjfw

Now tha tI see the separated installers: Every other app installer just asks the user what they want and deals with it. Why does PowerToys use different installers?

Jay-o-Way avatar Apr 03 '23 22:04 Jay-o-Way

Fixed in 0.69 which was released in the start of April 2023.

crutkas avatar May 08 '23 17:05 crutkas