Logitech Options fails due to missing version number #555

Closed
opened 2026-01-19 18:34:29 +00:00 by michael · 10 comments
Owner

Originally created by @pythoninthegrass on GitHub.

The logitechoptions label is failing due to not having a version number.

$ sudo ./Installomator.sh logitechoptions
2021-12-30 15:49:48 logitechoptions ################## Start Installomator v. 9.0dev
2021-12-30 15:49:48 logitechoptions ################## logitechoptions
2021-12-30 15:49:49 logitechoptions BLOCKING_PROCESS_ACTION=tell_user
2021-12-30 15:49:49 logitechoptions NOTIFY=success
2021-12-30 15:49:49 logitechoptions LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2021-12-30 15:49:49 logitechoptions no blocking processes defined, using Logitech Options as default
2021-12-30 15:49:49 logitechoptions Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4
2021-12-30 15:53:01 logitechoptions App(s) found:
2021-12-30 15:53:01 logitechoptions could not find Logitech Options.app
2021-12-30 15:53:01 logitechoptions appversion:
2021-12-30 15:53:01 logitechoptions Latest version not specified.
2021-12-30 15:53:01 logitechoptions Downloading https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip to Logitech Options.zip
2021-12-30 15:53:23 logitechoptions no more blocking processes, continue with update
2021-12-30 15:53:23 logitechoptions Installing Logitech Options
2021-12-30 15:53:23 logitechoptions Unzipping Logitech Options.zip
2021-12-30 15:53:24 logitechoptions Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4/LogiMgr Installer .app/Contents/Resources/LogiMgr.pkg
2021-12-30 15:53:24 logitechoptions Error verifying /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4/LogiMgr Installer .app/Contents/Resources/LogiMgr.pkg
2021-12-30 15:53:24 logitechoptions Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4
2021-12-30 15:53:24 logitechoptions App not closed, so no reopen.
2021-12-30 15:53:24 logitechoptions ################## End Installomator, exit code 4

Website appears to obfuscate the version number in a CSS flex grid instead of HTML.

Current version is 9.40.75. The app when manually downloaded via curl is named LogiMgr Installer 9.40.75.app. A workaround would be to hard-code the version number, but ideally there'd be a more dynamic solution.

FWIW this works:

logitechoptions)
    # credit: AP Orlebeke (@apizz)
    name="Logitech Options"
    type="pkgInZip"
    downloadURL=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}')
    #appNewVersion=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}' | sed -E 's/.*_([0-9\.]*)[-\.].*/\1/' )
    appNewVersion='9.40.75'
    pkgName="LogiMgr Installer ${appNewVersion}.app/Contents/Resources/LogiMgr.pkg"
    expectedTeamID="QED4VVPZWA"
    ;;

with output:

$ sudo ./Installomator.sh logitechoptions
2021-12-30 16:51:22 logitechoptions ################## Start Installomator v. 9.0dev
2021-12-30 16:51:22 logitechoptions ################## logitechoptions
2021-12-30 16:51:23 logitechoptions BLOCKING_PROCESS_ACTION=tell_user
2021-12-30 16:51:23 logitechoptions NOTIFY=success
2021-12-30 16:51:23 logitechoptions LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2021-12-30 16:51:23 logitechoptions no blocking processes defined, using Logitech Options as default
2021-12-30 16:51:23 logitechoptions Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu
2021-12-30 16:53:43 logitechoptions App(s) found:
2021-12-30 16:53:43 logitechoptions could not find Logitech Options.app
2021-12-30 16:53:43 logitechoptions appversion:
2021-12-30 16:53:43 logitechoptions Latest version of Logitech Options is 9.40.75
2021-12-30 16:53:43 logitechoptions Downloading https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip to Logitech Options.zip
2021-12-30 16:54:06 logitechoptions no more blocking processes, continue with update
2021-12-30 16:54:06 logitechoptions Installing Logitech Options
2021-12-30 16:54:06 logitechoptions Unzipping Logitech Options.zip
2021-12-30 16:54:07 logitechoptions Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu/LogiMgr Installer 9.40.75.app/Contents/Resources/LogiMgr.pkg
2021-12-30 16:54:09 logitechoptions Team ID: QED4VVPZWA (expected: QED4VVPZWA )
2021-12-30 16:54:09 logitechoptions Installing /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu/LogiMgr Installer 9.40.75.app/Contents/Resources/LogiMgr.pkg to /
installer: Package name is Logitech Options
installer: Installing at base path /
installer: The install was successful.
2021-12-30 16:54:36 logitechoptions Finishing...
2021-12-30 16:54:47 logitechoptions App(s) found:
2021-12-30 16:54:47 logitechoptions could not find Logitech Options.app
2021-12-30 16:54:47 logitechoptions Installed Logitech Options
2021-12-30 16:54:47 logitechoptions notifying
2021-12-30 16:54:48 logitechoptions Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu
2021-12-30 16:54:48 logitechoptions App not closed, so no reopen.
2021-12-30 16:54:48 logitechoptions ################## End Installomator, exit code 0
Originally created by @pythoninthegrass on GitHub. The `logitechoptions` label is failing due to not having a version number. ``` $ sudo ./Installomator.sh logitechoptions 2021-12-30 15:49:48 logitechoptions ################## Start Installomator v. 9.0dev 2021-12-30 15:49:48 logitechoptions ################## logitechoptions 2021-12-30 15:49:49 logitechoptions BLOCKING_PROCESS_ACTION=tell_user 2021-12-30 15:49:49 logitechoptions NOTIFY=success 2021-12-30 15:49:49 logitechoptions LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns 2021-12-30 15:49:49 logitechoptions no blocking processes defined, using Logitech Options as default 2021-12-30 15:49:49 logitechoptions Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4 2021-12-30 15:53:01 logitechoptions App(s) found: 2021-12-30 15:53:01 logitechoptions could not find Logitech Options.app 2021-12-30 15:53:01 logitechoptions appversion: 2021-12-30 15:53:01 logitechoptions Latest version not specified. 2021-12-30 15:53:01 logitechoptions Downloading https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip to Logitech Options.zip 2021-12-30 15:53:23 logitechoptions no more blocking processes, continue with update 2021-12-30 15:53:23 logitechoptions Installing Logitech Options 2021-12-30 15:53:23 logitechoptions Unzipping Logitech Options.zip 2021-12-30 15:53:24 logitechoptions Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4/LogiMgr Installer .app/Contents/Resources/LogiMgr.pkg 2021-12-30 15:53:24 logitechoptions Error verifying /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4/LogiMgr Installer .app/Contents/Resources/LogiMgr.pkg 2021-12-30 15:53:24 logitechoptions Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.bDRmAtm4 2021-12-30 15:53:24 logitechoptions App not closed, so no reopen. 2021-12-30 15:53:24 logitechoptions ################## End Installomator, exit code 4 ``` [Website](https://support.logi.com/hc/en-my/articles/360025297893) appears to obfuscate the version number in a CSS flex grid instead of HTML. Current version is `9.40.75`. The app when manually downloaded via `curl` is named `LogiMgr Installer 9.40.75.app`. A workaround would be to hard-code the version number, but ideally there'd be a more dynamic solution. FWIW this works: ```bash logitechoptions) # credit: AP Orlebeke (@apizz) name="Logitech Options" type="pkgInZip" downloadURL=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}') #appNewVersion=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}' | sed -E 's/.*_([0-9\.]*)[-\.].*/\1/' ) appNewVersion='9.40.75' pkgName="LogiMgr Installer ${appNewVersion}.app/Contents/Resources/LogiMgr.pkg" expectedTeamID="QED4VVPZWA" ;; ``` with output: ``` $ sudo ./Installomator.sh logitechoptions 2021-12-30 16:51:22 logitechoptions ################## Start Installomator v. 9.0dev 2021-12-30 16:51:22 logitechoptions ################## logitechoptions 2021-12-30 16:51:23 logitechoptions BLOCKING_PROCESS_ACTION=tell_user 2021-12-30 16:51:23 logitechoptions NOTIFY=success 2021-12-30 16:51:23 logitechoptions LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns 2021-12-30 16:51:23 logitechoptions no blocking processes defined, using Logitech Options as default 2021-12-30 16:51:23 logitechoptions Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu 2021-12-30 16:53:43 logitechoptions App(s) found: 2021-12-30 16:53:43 logitechoptions could not find Logitech Options.app 2021-12-30 16:53:43 logitechoptions appversion: 2021-12-30 16:53:43 logitechoptions Latest version of Logitech Options is 9.40.75 2021-12-30 16:53:43 logitechoptions Downloading https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip to Logitech Options.zip 2021-12-30 16:54:06 logitechoptions no more blocking processes, continue with update 2021-12-30 16:54:06 logitechoptions Installing Logitech Options 2021-12-30 16:54:06 logitechoptions Unzipping Logitech Options.zip 2021-12-30 16:54:07 logitechoptions Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu/LogiMgr Installer 9.40.75.app/Contents/Resources/LogiMgr.pkg 2021-12-30 16:54:09 logitechoptions Team ID: QED4VVPZWA (expected: QED4VVPZWA ) 2021-12-30 16:54:09 logitechoptions Installing /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu/LogiMgr Installer 9.40.75.app/Contents/Resources/LogiMgr.pkg to / installer: Package name is Logitech Options installer: Installing at base path / installer: The install was successful. 2021-12-30 16:54:36 logitechoptions Finishing... 2021-12-30 16:54:47 logitechoptions App(s) found: 2021-12-30 16:54:47 logitechoptions could not find Logitech Options.app 2021-12-30 16:54:47 logitechoptions Installed Logitech Options 2021-12-30 16:54:47 logitechoptions notifying 2021-12-30 16:54:48 logitechoptions Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ezRD0Quu 2021-12-30 16:54:48 logitechoptions App not closed, so no reopen. 2021-12-30 16:54:48 logitechoptions ################## End Installomator, exit code 0 ```
Author
Owner

@pythoninthegrass commented on GitHub:

Thanks so much @Theile! Really appreciate the swift resolution 🙏

@pythoninthegrass commented on GitHub: Thanks so much @Theile! Really appreciate the swift resolution 🙏
Author
Owner

@Theile commented on GitHub:

Installomator can now search for pkgName.

@Theile commented on GitHub: Installomator can now search for `pkgName`.
Author
Owner

@apizz commented on GitHub:

Yeah we've been looking at this over in MacAdmins because the installer app now has the version number in the name and at the moment there's not any glob functionality so we can avoid having to collect this info and just get to the install PKG within that we want.

Doesn't help that Logitech designed their website such that it's really difficult to scrape the latest version from the download page so we could side step this altogether.

@apizz commented on GitHub: Yeah we've been looking at this over in MacAdmins because the installer app now has the version number in the name and at the moment there's not any glob functionality so we can avoid having to collect this info and just get to the install PKG within that we want. Doesn't help that Logitech designed their website such that it's really difficult to scrape the latest version from the download page so we could side step this altogether.
Author
Owner

@Theile commented on GitHub:

I have also found the version, so PR 359 has been updated again.

The problem is that Installomator does not handle regex in pkgName, so have to figure that out…

@Theile commented on GitHub: I have also found the version, so PR 359 has been updated again. The problem is that Installomator does not handle regex in `pkgName`, so have to figure that out…
Author
Owner

@Theile commented on GitHub:

I have found the downloadURL:

curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https.*/.*/options.*\.zip"
@Theile commented on GitHub: I have found the `downloadURL`: ``` curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https.*/.*/options.*\.zip" ```
Author
Owner

@pythoninthegrass commented on GitHub:

It's also an awkward compressed named version app installer that installs another generic app 😱
options_installer > LogiMgr Installer 9.50.122.app > /Applications/Logi Options.app

Looking through type functions to see if it can be automated.

@pythoninthegrass commented on GitHub: It's also an awkward compressed named version app installer that installs another generic app 😱 `options_installer` > `LogiMgr Installer 9.50.122.app` > `/Applications/Logi Options.app` Looking through type functions to see if it can be automated.
Author
Owner

@pythoninthegrass commented on GitHub:

Got it. Thanks again for your help @Theile !

@pythoninthegrass commented on GitHub: Got it. Thanks again for your help @Theile !
Author
Owner

@Theile commented on GitHub:

It has been fixed in another PR, but the other team-members need to have a look at that first before we merge it.

You can find it here: PR369

@Theile commented on GitHub: It has been fixed in another PR, but the other team-members need to have a look at that first before we merge it. You can find it here: [PR369](https://github.com/Installomator/Installomator/pull/369)
Author
Owner

@pythoninthegrass commented on GitHub:

Something must have changed in their JSON with current releases. Now catching the smaller Logitech Options+ installer in the downloadURL.
Current implementation

$ !484
curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https.*/.*/options.*\.zip"
https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip
https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip

Modified regex to only match options_installer.zip
https.*/.*/options.*\.zip to https:\/\/.*\/options_installer\.zip

$ !524
curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https:\/\/.*\/options_installer\.zip"
https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip
@pythoninthegrass commented on GitHub: Something must have changed in their JSON with current releases. Now catching the smaller Logitech Options+ installer in the `downloadURL`. **Current implementation** ```bash $ !484 curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https.*/.*/options.*\.zip" https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip ``` **Modified regex to only match options_installer.zip** `https.*/.*/options.*\.zip` to `https:\/\/.*\/options_installer\.zip` ```bash $ !524 curl -fs https://support.logi.com/api/v2/help_center/en-us/articles.json | tr "," "\n" | grep -A 10 "macOS" | grep -oie "https:\/\/.*\/options_installer\.zip" https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip ```
Author
Owner

@Theile commented on GitHub:

It was a fun challenge!

@Theile commented on GitHub: It was a fun challenge!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Installomator/Installomator#555