-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WinGet fails in the "silent install check" of the Microsoft Store #4461
Comments
I'm not sure that using Although WinGet is included in many OS builds now, there is no guarantee that a user's configuration will support it. For example, a user could have removed all the default sources and added their own private source which doesn't have |
It's in the natur of a software developer to question the approach rather than giving a suggestion to solve it. No worries, I do in fact install winget on the system. The issue seems to be similar to: #1433 |
WinGet has a notion of dependencies in the manifest to handle installing any other packages with dependencies from the same source. This appears to be a scenario where the installer is looking to leverage WinGet to install dependencies "inside" the installer. I'd like to understand the scenario a bit more here. The Microsoft Store has their own policies regarding what an installer is doing, and there are several other automated processes evaluating what is being installed on a system during package installation flows. |
Do I understand correct, that you like to know the scenario of using winget? I took this installation guide and wrote a nullsoft installer to automate everything for end-users. I could just use PowerShell to download and install everything, but a package manager is more elegant in my opinion.
I tried to work with |
I see a few potential challenges with the way this is being called by nsexec command.
Getting past the technical challenges should be possible. If the installer is depending on WinGet to handle dependencies, I'd suggest leveraging the COM APIs in WinGet rather than calling the executable. If this package is only going to be used by the Microsoft Store for distribution, then it's reasonably safe to assume WinGet is present on the system, since the Microsoft Store client is leveraging WinGet to perform the WIn32 installation. We still have work to do in WinGet to expose the sources to the COM API so they can be validated before a call fails during installation. You could test by using There are also Group Policies an enterprise could configure to prevent calls to winget.exe. That would also cause the installation of the dependency to fail. You can set the policies, and run As far as the agreements go, that's a bit of a stickier problem. I'm not able to offer legal advice, so I'd check to make sure liabilities can be avoided. I'd expect an application installing other applications to inform me and give me the ability to agree or cancel. If consent is given up front, then the need to prompt for those dependencies may be something that can be eliminated, but again, I'd get legal advice before proceeding on that front. |
Thank you for bringing up the legal considerations regarding the installer that I need to address. I was not aware of it, but will fix it in the future. I'm not sure if I understand you correct but the WinGet install script has been added to cover Windows 10 users. The current issue we have are the conflict with the MS Store's instance of WinGet on their server. Right before you responded, I did another run using WPM_89862289_92d6281ace9434050b96d2fc8a63888f59d06ee1de2440cbc34c2e2d7253d32c.txt Removing the Unfortunately no access to logs in that case. I tried ealier this day to limit the source to winget - it then ignored the msstore source but I assume writting down the winget manifest (or whetever it does) causes the fatal error. |
I'm guessing here since I don't know exactly what the environment validation is happening in for the Microsoft Store. I'd expect either the client in validation for the "msstore" source either doesn't have the default "winget" source enabled/configured, or when the command is being executed, it's not happening "inline", but it's launching a window to run the command. Unfortunately, I don't have a way to determine that. I'll have to reach out to someone on the store team. Either way, this kind of cross-source dependency may be prohibited by some kind of policy. Can you send me an e-mail so I can forward the thread to the store team? |
I gave up on the MS Store due this issue and the restriction that everything being installed via winget is considered as bloatware. |
Brief description of your issue
Running a NullSoft Installer on MS Store's package validation is causing a general fatal error during the "silent install check".
Steps to reproduce
NullSoft Installer's section block:
Expected behavior
Installation should pass like it does on my local machine.
Actual behavior
A general fatal error being thrown.
Logfile: WPM_40749569_f6582e189d6a255d92767e21d2d72a64dc1b80cb8da6c1d9dc20f9ad670dcc68.txt
Environment
The text was updated successfully, but these errors were encountered: