site_archiver@lists.apple.com Delivered-To: installer-dev@lists.apple.com Thread-index: Ack1PuJv7+Of7uZlgkCyx6rjQq4GAg== Thread-topic: how to change folder attributes from postinstall (missing SetFile?) User-agent: Microsoft-Entourage/12.13.0.080930 on 10/23/08 10:42 AM, Mario Emmenlauer at mario@emmenlauer.de wrote:
Hi,
Iceberg-Dev wrote:
On Oct 23, 2008, at 7:01 PM, Mario Emmenlauer wrote:
I have an installer that works very well as long as I have 'Include Root in Package' enabled. When I disable it, the Icons for the app- lication bundle don't show up until the user reboots.
The reason seems that PackageMaker creates the root folder (instead of unpacking it), and therefore the folder lacks attributes?!
Using 'SetFile -a C /Applications/Folder.app' from a postinstall-script, I can make the Icons appear. However, SetFile is not available on the users machines.
Whats the right tool to use on a users machine to set folder attributes?
It's pretty easy to write one, you only need to play with the FSCatalogInfo data.
That is really simple to write, thanks for the hint!
However, it seems awkward to write, distribute and maintain an extra cmdline-tool, only to set the icon-attribute once after installation. (Especially given that (a) the attribute would be most conveniently set by PackageMaker, and (b) is not needed to be manually set, if I uncheck a PackageMaker flag).
There should be a cmdline tool (or other cmdline way) in a base OS X installation that lets users change attributes, isn't there? That would be very awkward.
Cheers,
Mario
Would it be a violation of any EULA to have the binary for SetFile in the same directory with the postflight script of the installer and simply call ./SetFile ... ? I've run into this very thing recently where I have to place a symlink and in the root of the drive but hide it from the finder. I am trying to install GhostScript into a folder that has a space in the name but it won't work. It will build fine but the install script chokes. So, I have the symlink point to the folder with the space in the name in order to get it to install. In describing my scenario, I just had an idea that is OT but I wonder if anyone would know without testing. .. Since gs builds with a path specified with a space in it, what if I create the symlink to the path and use DESTDIR to the folder? ./configure --prefix="/Applications/Lasso\ Professional\ 8/ExecuChoice_Tags/Tools" make ln -s /Applications/Lasso\ Professional\ 8/ExecuChoice_Tags/Tools ec_tools make install DESTDIR=/ec_tools Any ideas? Thanks Steffan --------------------------------------------------------------- T E L 6 0 2 . 7 9 3 . 0 0 1 4 | F A X 6 0 2 . 9 7 1 . 1 6 9 4 Steffan A. Cline Steffan@ExecuChoice.net Phoenix, Az http://www.ExecuChoice.net USA AIM : SteffanC ICQ : 57234309 YAHOO : Steffan_Cline MSN : steffan@hldns.com GOOGLE: Steffan.Cline Lasso Partner Alliance Member --------------------------------------------------------------- _______________________________________________ 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: http://lists.apple.com/mailman/options/installer-dev/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com