Skip to content

Conversation

@whindsaks
Copy link
Contributor

Fixes Chrome on x64 (x86 uses a different installer we can't fix this way).

Notes:

  • Some other x64 apps just needed the same download link forced for amd64 for it to show in Rapps.

@whindsaks whindsaks added the enhancement New feature or request label Jul 17, 2025
Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20170803195021/https://download.sysinternals.com/files/Autoruns.zip
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add SHA1 for it? Also, isn't it an unrelated change? (as well as some others)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPD: I've re-read the description, that's ok, but question for SHA1 still stands.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The download is the same as for x86 and it gets the hash from the main section. The URL just needs to be listed again under Section.amd64 for Rapps to accept it. There is no AnyCPU concept.

And yes, these others are unrelated to Chrome but they are x64 fixes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no AnyCPU concept

It cannot fallback to the [Section] in that case?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't right now. And if the main x86 is still the main arch that we maintain (and we still don't have WOW64 or others), IMHO it would stay like that.

Copy link
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It cannot fallback to the [Section] in that case?

No. All values except the download URL will fallback to the non-CPU section but rapps has special code to not accept the URL on non-x86 (this restriction will probably removed when we get wow64).

https://github.com/reactos/reactos/blob/49e652b7b790de896e63b4de07822376f4d627f0/base/applications/rapps/configparser.cpp#L75

Comment on lines +18 to +19
[Section.arm64]
URLDownload = https://web.archive.org/web/20210503071949/http://download.sysinternals.com/Files/ZoomIt.zip
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uhm... Do we have a bootable reactos compatible ARM64 and I didn't noticed? xD
Nah, it's a joke, if you consider to add it here, I am not against. Rapps-db must be a trusty database itself, even for the future.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as for the other file.

Copy link
Collaborator

@julenuri julenuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, just fix a little the PR title to fit more to the proposal of the PR, Chrome and other x64 software fixing. Thanks.

Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20170803195021/https://download.sysinternals.com/files/Autoruns.zip
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no AnyCPU concept

It cannot fallback to the [Section] in that case?

[Section.amd64]
URLDownload = https://web.archive.org/web/20221116090816/https://download.sysinternals.com/files/TCPView.zip

[Section.arm64]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding ARM64 for here, but not the other apps?! 👀

Copy link
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know a couple of these sysinternals tools ship all 3 in the same zip file and I had already done part of the work needed, just didn't know it needed this extra download value (obviously I only tested this on x64, not on arm).

For Process Explorer. We are stuck with an old version that never shipped arm64.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah OK, makes sense if the zip contains an ARM64 build too.

Comment on lines +18 to +19
[Section.arm64]
URLDownload = https://web.archive.org/web/20210503071949/http://download.sysinternals.com/Files/ZoomIt.zip
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as for the other file.

Dir = %ProgramFiles%\Google\Chrome
Lnk = "Google Chrome.lnk"
Files = chrome48\Chrome-bin\*.exe|chrome48\Chrome-bin\*
Dir = Google\Chrome
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When nothing else is prepended, this falls back to ProgramFiles by default?

Copy link
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, with no % at the root, Rapps will install to %localappdata% or %programfiles% in the future but now it's just for the user. There technically is some support for setting Scope=Machine in the manifest to force %programfiles% but I don't want to do that here (official Chrome also installs for the user). I want Rapps to give you the option to set a default user/machine preference when the package does not have a hard requirement. This has not been done yet, UAC considerations must be thought through first.

Lnk = "Google Chrome.lnk"
Files = chrome48\Chrome-bin\*.exe|chrome48\Chrome-bin\*
Dir = Google\Chrome
Lnk = Google Chrome.lnk
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep this inside quotes? (the file name contains spaces)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a command line and neither the spec not implementation expects quotes, the ini parser must be stripping them by chance.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not "by chance" that the ini parser strips them; this is part of the spec.
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestringw#remarks

If the string associated with lpKeyName is enclosed in single or double quotation marks, the marks are discarded when the GetPrivateProfileString function retrieves the string.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just be careful with this, parts of Rapps uses the Setup API inf parser.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok then the quotes in the string values will definitely be stripped away.

@whindsaks whindsaks changed the title [RAPPS-DB] Set Chrome no-sandbox parameter on shortcut [RAPPS-DB] Set Chrome no-sandbox parameter on shortcut and other x64 fixes Jul 17, 2025
Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20190913041012/https://download.sysinternals.com/files/ProcessExplorer.zip
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe some magic key like inherit or so would be nice here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming Wow64 is far away then yes, this would be pretty nice. If we would still want to respect the localization sections then it will be a bit painful but I think I can make a GetSectionStringEx that lets you skip the CPU bits. I don't know how common this .zip style distribution with the same URL is though...

@whindsaks whindsaks merged commit 811c04e into reactos:master Jul 18, 2025
1 check passed
@whindsaks whindsaks deleted the LnkParam branch July 18, 2025 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants