Re: pkgutil shows receipt not found on 10.5 Mac OS
Re: pkgutil shows receipt not found on 10.5 Mac OS
- Subject: Re: pkgutil shows receipt not found on 10.5 Mac OS
- From: Sachin Porwal <email@hidden>
- Date: Wed, 30 Jun 2010 19:20:37 +0530
So a possible approach is to use a postflight (or postinstall script if you are using a flat package) in which you:
- delete the receipts if it exists in /Library/Receipts (eventually you may need to look for $HOME/Library/Receipts)
<Sachin> I tried to do that but how to find out the pkg Receipt name as i have the pkgid only. A user may change the pkg name & then deploy the pkg. With 10.4 pkg type, pkgutil does not work on 10.5.x systems, so i cant get the receipt info too. pkgutil --forget will work fine on 10.6.x but not on 10.5.x.
- remove the reference to it in the install database with pkgutil --forget your.bundle.identifier
<Sachin> On 10.6.x the receipt entries are not created till the end of postflight, so how to forget the pkg's own entries. Moreover this will not work on 10.5.x.
Thanks,
SachinOn Wed, Jun 30, 2010 at 6:21 PM, Iceberg-Dev
<email@hidden> wrote:
On Jun 30, 2010, at 12:53 PM, Sachin Porwal wrote:
Thanks Stephane. Yes, you are correct about the receipts & database. My problems are a bit different here. Let me explain them once again:
1) The secondary pkg that i am trying to create, needs to cleanup some receipts/database for another primary pkg(which has already been installed). I do have the pkgid of primary pkg for which the receipts/database needs to be cleaned up, with secondary pkg scripts. Please suggest me the best approach to achieve the same on 10.5.x & 10.6.x (both the pkgs are 10.4 type non-flat pkgs).
2)The secondary pkg should not create its own entries in database/receipts when it is deployed/executed. Please suggest me the way to prevent entries in receipts/database when pkg is deployed on 10.5.x & 10.6.x.
I don't know if this approach still works but during the transition from PowerPC to Intel, if you needed to support Mac OS X 10.2 and you were installing a Universal Binary, you had to remove the package receipts upon installation to avoid a crash in Installer.app. A solution at that time was to remove the receipts for the package from the postflight script of the package.
So a possible approach is to use a postflight (or postinstall script if you are using a flat package) in which you:
- delete the receipts if it exists in /Library/Receipts (eventually you may need to look for $HOME/Library/Receipts)
- remove the reference to it in the install database with pkgutil --forget your.bundle.identifier
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (
email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden