Open SydneyhSmith opened 2 years ago
Be sure permissions for ubuntu are also taken into consideration with install scope parameter, related isse #364
Please review the "CurrentUser" default as more and more users have "Back up important PC folders to OneDrive" Enabled in OneDrive: https://github.com/PowerShell/PowerShellGet/issues/195, https://github.com/PowerShell/PowerShellGet/issues/724, https://github.com/PowerShell/PowerShellGet/issues/627
PS: The problem around this request has in two-weeks it's two-year anniversary on Nov 21, 2022!
@weyCC81 thanks for reaching out. There's an issue to track this in the PowerShell repository: https://github.com/PowerShell/PowerShell/issues/15552
It is being worked on and will be addressed from the PowerShell side.
At the very least, allow for a -Path
or -Destination
parameter to Install-PSResource
to override the -Scope
parameter, and at best, allow for an environment variable, ps variable, powershell.config.json entry, or otherwise to opt in to a new default folder. This is work that can be done here while waiting on a PS result
@JustinGrote We have Save-PSResource with the -IncludeXML parameter that would essentially give the desired outcome. The reason we didn't include -Path
or -Destination
parameter for Install-PSResource is because it would be redundant with Save-PSResource behavior.
@SydneyhSmith this was asked about in the PSConfEU Mini Con chat today and would be great to get into a v1.1 if possible
+1 For this. As it is right-now it is impossible to upgrade a package that was installed with a private repository using Install-PsResource -Scope AllUsers
# Import Module works as expected (Module installed -Scope AllUsers)
import-module mymodule
# throws error Update-PSResource: No installed packages were found with name 'mymodule' in scope 'CurrentUser'.
Update-PsResource mymodule
# throws error Update-PSResource: Package 'mymodule' could not be found in any registered repositories.
Update-PSResource mymodule -Scope AllUsers
Edit: I just realized that this is the same as #84
Summary of the new feature / enhancement
In order to make repository registration available system-wide we should add a
-Scope
parameter toRegister-PSRepository
. This parameter will determine the file path where the repository metadata is stored and therefore determine whether all users can access the repository registration. This change will also introduce the following parameters:Scope
Parameter toRegister-PSResourceRepository
Scope
Parameter toSet-PSResourceRepository
Scope
Parameter toUnregister-PSResourceRepository
Scope
Parameter toGet-PSResourceRepository
RepositoryScope
Parameter toFind-PSResource
RepositoryScope
Parameter toInstall-PSResource
RepositoryScope
Parameter toUpdate-PSResource
RepositoryScope
Parameter toUninstall-PSResource
RepositoryScope
Parameter toPublish-PSResource
RepositoryScope
Parameter toSave-PSResource
Proposed technical implementation details (optional)
CurrentUser will remain the default behavior even with these changes. We will not enforce uniqueness across scope, and therefore need additional parameters to indicate repository scope.