packagesdev / packages

Integrated Packaging Environment for OS X
312 stars 44 forks source link

Not installing when from internet #138

Open gabgren opened 1 year ago

gabgren commented 1 year ago

I made a package that will be stored on an s3 bucket, as a second package in the Distribution project:

Screenshot 2023-05-06 at 8 55 15 AM

I then upload it to the proper URL and test my installer.

Firt problem: the percentage goes beyond 100% and when it hits 10,000%, the download stops and I get this message:

Screenshot 2023-05-06 at 8 52 57 AM Screenshot 2023-05-06 at 8 53 12 AM

Troubleshooting:

packagesdev commented 1 year ago

Firt (sic) problem: the percentage goes beyond 100% and when it hits 10,000%, the download stops and I get this message

This is a bug in Installer.app which has been reported to Apple probably more than 10 years ago. But, you know Apple, small company, always on the verge of bankruptcy, so very difficult them to allocate resources to fix bugs or provide documentation about known issues.

I tend to believe this is related to the fact that someone at Apple, at the time, did not notice that there is a small difference between a byte and a kilobyte. There's a similar unit issue in the JavaScript APIs.

the download stops and I get this message:

There's probably a message in the Installer Log window saying that the package is not compatible. This is a new thing.

I will have to check this more deeply when I have time.

A note regarding remote packages: they should not really be used these days because, from a security point of view, they are not fully safe as the info stated in the local distribution may not match the package. And I tend to remember there are some certificate issues too.

gabgren commented 1 year ago

Thanks for the quick answer :)

Here's the installer log:

May  6 12:55:59 Gabriels-MacBook-Air Installer[41708]: Failed to load specified background image
May  6 12:55:59 Gabriels-MacBook-Air Installer[41708]: PKInstallRequest: failed to initialize. Error: Error Domain=PKInstallRequestErrorDomain Code=2 "Specifier Description:<PKPackageSpecifier>:
    {
        URL = "https://xxxxx.s3.amazonaws.com/xxxxxxxx/v1_1/required%20files.pkg";
        identifier = "xyz.bskl.pkg.diffusae";
        options = 0;
        version = "1.1";
    }" UserInfo={NSLocalizedFailureReason=Specifier Description:<PKPackageSpecifier>:
    {
        URL = "https://xxxxxx.s3.amazonaws.com/xxxxxxxx/v1_1/required%20files.pkg";
        identifier = "xyz.bskl.pkg.diffusae";
        options = 0;
        version = "1.1";
    }}
May  6 12:55:59 Gabriels-MacBook-Air Installer[41708]: Could not load resource readme: (null)
May  6 12:55:59 Gabriels-MacBook-Air Installer[41708]: Could not load resource license: (null)
May  6 12:56:11 Gabriels-MacBook-Air Installer[41708]: PUKApplicationCloser: Plugins in to kill: (
    )
May  6 12:56:11 Gabriels-MacBook-Air Installer[41708]: PUKApplicationCloser: Plugins in to kill: (
    )
May  6 12:56:11 Gabriels-MacBook-Air Installer[41708]: PUKApplicationCloser: Plugins in to kill: (
    )
May  6 12:56:11 Gabriels-MacBook-Air Installer[41708]: PUKApplicationCloser: Done updateOpenAppsAndPlugIns!
May  6 12:56:11 Gabriels-MacBook-Air Installer[41708]: PUKApplicationCloser: Alert did end with code: -1
May  6 12:56:13 Gabriels-MacBook-Air installd[3439]: PackageKit: ----- Begin install -----
May  6 12:56:14 Gabriels-MacBook-Air installd[3439]: PackageKit: ----- End install -----
May  6 12:56:22 Gabriels-MacBook-Air Installer[41708]: Install failed: The Installer could not install the software because there was no software found to install.
May  6 12:56:22 Gabriels-MacBook-Air Installer[41708]: Displaying 'Install Failed' UI.
May  6 12:56:22 Gabriels-MacBook-Air Installer[41708]: 'Install Failed' UI displayed message:'The Installer could not install the software.

    The Installer could not install the software because there was no software found to install.'.

Everytime, it stops at exactly 10,000%, so that might be a clue.

You can test the URL directly, it downloads OK from a browser.

I have also tried hosting the file on a https and http server (not an s3 bucket): same result

scharli commented 1 year ago

Hi, I have the same issue, the actual problem is that the pkg downloaded if I go to the temp folder wherever is download is right notarized and with double click is just working.

Here's the full install.log


10:27:15+02 Installer[98162]: @(#)PROGRAM:Install  PROJECT:Install-1000
10:27:15+02 Installer[98162]: @(#)PROGRAM:Installer  PROJECT:Installer-1020
10:27:15+02 Installer[98162]: Hardware: Macmini9,1 @ 0 MHz (x 8), 16384 MB RAM
10:27:15+02 Installer[98162]: Running OS Build: macOS 11.7.4 (20G1120)
10:27:15+02 Installer[98162]: Env: USER=xarli
10:27:15+02 Installer[98162]: Env: __CFBundleIdentifier=com.apple.installer
10:27:15+02 Installer[98162]: Env: COMMAND_MODE=unix2003
10:27:15+02 Installer[98162]: Env: LOGNAME=xarli
10:27:15+02 Installer[98162]: Env: PATH=/usr/bin:/bin:/usr/sbin:/sbin
10:27:15+02 Installer[98162]: Env: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.23QHZZnZFt/Listeners
10:27:15+02 Installer[98162]: Env: SHELL=/bin/zsh
10:27:15+02 Installer[98162]: Env: __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
10:27:15+02 Installer[98162]: Env: TMPDIR=/var/folders/x7/j4wr8zw16xd4n85hd0chk93w0000gn/T/
10:27:15+02 Installer[98162]: Env: XPC_SERVICE_NAME=application.com.apple.installer.1152921500312162736.1152921500312162741
10:27:15+02 Installer[98162]: Env: XPC_FLAGS=0x0
10:27:15+02 Installer[98162]: ExampleApp  Installation Log
10:27:15+02 Installer[98162]: Package Authoring Error: <background> has an unsupported MIME type: image/data
10:27:15+02 Installer[98162]: Package Authoring Error: <background-darkAqua> has an unsupported MIME type: image/data
10:27:15+02 Installer[98162]: Package Authoring Error: <background_scaling> has an unsupported MIME type: X-NSObject/NSNumber
10:27:15+02 Installer[98162]: Package Authoring Error: <background_alignment> has an unsupported MIME type: X-NSObject/NSNumber
10:27:15+02 Installer[98162]: Package Authoring Error: <layout-direction> has an unsupported MIME type: X-NSObject/NSNumber
10:27:15+02 Installer[98162]: Product archive /Users/xarli/Desktop/agents/xarli/tools/installer/build/ExampleApp.pkg trustLevel=100
10:27:15+02 Installer[98162]: PKInstallRequest: failed to initialize. Error: Error Domain=PKInstallRequestErrorDomain Code=2 "Specifier Description:<PKPackageSpecifier>:
    {
        URL = "http://localhost/build/http/ExampleApp.pkg";
        identifier = "net.app.example";
        options = 0;
        version = "0.2.124";
    }" UserInfo={NSLocalizedFailureReason=Specifier Description:<PKPackageSpecifier>:
    {
        URL = "http://localhost/build/http/ExampleApp.pkg";
        identifier = "net.app.example";
        options = 0;
        version = "0.2.124";
    }}
10:27:15+02 Installer[98162]: External component packages (1) trustLevel=100 (trust evaluation failed)
10:27:16+02 Installer[98162]: Could not load resource readme: (null)
10:27:29+02 Installer[98162]: Administrator authorization granted.
10:27:29+02 Installer[98162]: ================================================================================
10:27:29+02 Installer[98162]: User picked Standard Install
10:27:29+02 Installer[98162]: Choices selected for installation:
10:27:29+02 Installer[98162]:   Upgrade: "ExampleApp"
10:27:29+02 Installer[98162]:       ExampleApp.pkg : net.app.example : 0.2.124
10:27:29+02 Installer[98162]: ================================================================================
10:27:29+02 Installer[98162]: It took 0.00 seconds to summarize the package selections.
10:27:29+02 Installer[98162]: -[IFDInstallController(Private) _buildInstallPlanReturningError:]: location = http://localhost
10:27:29+02 Installer[98162]: -[IFDInstallController(Private) _buildInstallPlanReturningError:]: http://localhost/build/http/ExampleApp.pkg
10:27:29+02 Installer[98162]: Downloading: Waiting for package at URL "http://localhost/build/http/ExampleApp.pkg" to become available.
10:27:30+02 Installer[98162]: Downloading: Package at URL "http://localhost/build/http/ExampleApp.pkg" is now available.
10:27:30+02 Installer[98162]: Set authorization level to root for session
10:27:30+02 Installer[98162]: Package file:///private/tmp/com.apple.installer.downloads.Xggh/ExampleApp.pkg not supported by PK
10:27:30+02 Installer[98162]: Unable to use PK session due to incompatible packages. Terminating.
10:27:30+02 Installer[98162]: Install failed: The Installer could not install the software because there was no software found to install.
10:27:30+02 Installer[98162]: IFDInstallController 1EEDB00 state = 8
10:27:30+02 Installer[98162]: Displaying 'Install Failed' UI.
10:27:30+02 Installer[98162]: 'Install Failed' UI displayed message:'The Installer could not install the software.

    The Installer could not install the software because there was no software found to install.'.
10:27:32+02 Installer[98162]: Package Removal: Package cannot be removed.

If I try to run the installer on terminal the error is uses a deprecated pre-10.2 format (or uses a newer format but is invalid).

installer: Package name is ExampleApp
installer: Upgrading at base path /
installer:PHASE:Preparing for installation…
installer:PHASE:Installing ExampleApp
installer:STATUS:Downloading: 1,300% complete
installer:STATUS:Downloading: 2,400% complete
installer:STATUS:Downloading: 3,500% complete
installer:STATUS:Downloading: 4,800% complete
installer:STATUS:Downloading: 7,600% complete
installer:STATUS:Downloading: 0% complete
2023-05-24 10:32:47.638 installer[98795:341260] Package /private/tmp/com.apple.installer.downloads.c1Bx/ExampleApp.pkg uses a deprecated pre-10.2 format (or uses a newer format but is invalid).
installer: The upgrade failed. (The Installer could not install the software because there was no software found to install. The Installer could not install the software.)

anyone get and Idea of what can be the issue? Or any tool to depurate or validate that pkg internal files are right?

scharli commented 1 year ago

Everytime, it stops at exactly 10,000%, so that might be a clue.

This is 100%, the actual number is multiplied by 10 so 10 is 100%, is happening to me the same way, but on tmp the file is fully downloaded and is working with double click.