Re: Installer-dev Digest, Vol 163, Issue 5
site_archiver@lists.apple.com Delivered-To: installer-dev@lists.apple.com Thank you for your input, Vachik. This code does work for us! Thanks again! -Lora
On Aug 7, 2019, at 12:00 PM, installer-dev-request@lists.apple.com wrote:
Send Installer-dev mailing list submissions to installer-dev@lists.apple.com
To subscribe or unsubscribe via the World Wide Web, visit https://lists.apple.com/mailman/listinfo/installer-dev or, via email, send a message with subject or body 'help' to installer-dev-request@lists.apple.com
You can reach the person managing the list at installer-dev-owner@lists.apple.com
When replying, please edit your Subject line so it is more specific than "Re: Contents of Installer-dev digest..."
Today's Topics:
1. Re: Getting path to pkg (Vachik Hovhannisyan)
----------------------------------------------------------------------
Message: 1 Date: Tue, 6 Aug 2019 20:53:54 +0000 (UTC) From: Vachik Hovhannisyan <vachooho@yahoo.com> To: Lora Lozano <lora_lozano@filemaker.com>, Stephane Sudre <dev.iceberg@gmail.com> Cc: Installer-Dev mailing-list <installer-dev@lists.apple.com> Subject: Re: Getting path to pkg Message-ID: <1565057585.2005202.1565124834631@mail.yahoo.com> Content-Type: text/plain; charset="utf-8"
Indeed, installer plugins run in a separate (from the Installer) process on Catalina, thus all the application structure has been?changed. Here is the undocumented way of getting the package path from the plug-in that works on Catalina as well, https://github.com/vachooho/package-path? but understand the limitations of the approach
On Monday, August 5, 2019, 03:10:34 PM PDT, Stephane Sudre <dev.iceberg@gmail.com> wrote:
It doesn't work on 10.10.5 either.
The PACKAGE_PATH environment variable is set when running the pre and post-installation scripts.
The environment variables that are set and visible from a plugin are the ones that are listed in install.log (or in the Log window of Installer.app).
On Mon, Aug 5, 2019 at 11:05 PM Lora Lozano via Installer-dev <installer-dev@lists.apple.com> wrote:
Thanks for your input, Vachik. Unfortunately, this didn?t work for me, even on Mojave. It returned null for the PACKAGE_PATH, and the installer hung.
Thanks, Lora
On Aug 3, 2019, at 5:18 PM, Vachik Hovhannisyan <vachooho@yahoo.com> wrote:
no need to go through all of that in order to get the package path
just get PACKAGE_PATH environment variable value using getenv("PACKAGE_PATH") or similar function call
On Thursday, August 1, 2019, 11:41:47 AM PDT, Lora Lozano via Installer-dev <installer-dev@lists.apple.com> wrote:
Hi,
In my plugin code, I?m leveraging the code in https://lists.apple.com/archives/Installer-dev/2008/Nov/msg00017.html to get the path to my installer pkg. This has been working for me for the past few years on all the Mac OSes that have been released, but it?s not working for me on Catalina. I tried this on the latest Catalina beta release (currently beta 5), but the NSWindow window, and thus its delegate, turns out to be null, which then causes my installer to crash with [NSURL initFileURLWithPath:]: nil string parameter when my code calls initFileURLWithPath.
As a test, I copied Apple's Installer application (/System/Library/CoreServices/Installer.app) from my Mojave machine to my Catalina machine and launched my installer on Catalina using that, and the crash doesn't happen. The NSWindow and its delegate are not null.
Was there a change to the Catalina Installer.app that requires me to update my code?
Here?s the code from https://lists.apple.com/archives/Installer-dev/2008/Nov/msg00017.html that my code is based off of:
#import <Cocoa/Cocoa.h> #import <InstallerPlugins/InstallerPlugins.h>
@interface HowToMakeAnAppleEngineerScream : InstallerPane { }
@end
#import "HowToMakeAnAppleEngineerScream.h"
@interface PageController : NSObject { }
- (id)distribution;
@end
@interface IFDocument : NSObject { }
- (id)path;
@end
@implementation HowToMakeAnAppleEngineerScream
- (NSString *)title { return [[NSBundle bundleForClass:[self class]] localizedStringForKey:@"PaneTitle" value:nil table:nil]; }
- (void) didEnterPane:(InstallerSectionDirection) inDirection { NSWindow * tWindow; PageController * tPageController;
tWindow=[NSApp keyWindow]; // This should be improved IMHO
tPageController=(PageController *) [tWindow delegate];
if (tPageController!=nil) { NSLog(@"This is the package path: %@",[[tPageController distribution] path]); } }
Any help would be greatly appreciated. Thanks in advance.
-Lora
_______________________________________________ Do not post admin requests to the list. They will be ignored. Installer-dev mailing list? ? ? (Installer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/installer-dev/vachooho%40yahoo.com
This email sent to vachooho@yahoo.com
? _______________________________________________ Do not post admin requests to the list. They will be ignored. Installer-dev mailing list? ? ? (Installer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/installer-dev/dev.iceberg%40gmail.co...
This email sent to dev.iceberg@gmail.com
-- Packaging Resources - http://s.sudre.free.fr/Packaging.html
participants (1)
-
Lora Lozano via Installer-dev