• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: creating alias during installation
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: creating alias during installation


  • Subject: Re: creating alias during installation
  • From: Mike Fischer <email@hidden>
  • Date: Thu, 8 Feb 2007 13:37:02 +0100

Am 08.02.2007 um 12:06 schrieb email@hidden:

Greetings.

I am a new Apple developer seeking some help about a PackageMaker
issue. (Actually I am an ancient Apple developer, but the last time I
did any was around 1986!)

Things have changed slightly since then, I'm sure you'll find ;-)


I have an application for which I am creating an installation. I have
successfully made a simple component package that works just fine.

I would now like to have the installer create an alias for the
application on the desktop after the basic installation has
completed.

This not something I (as a user) would expect an application installer to do. Indeed I would probably annoyed by it. Are you sure you really want do have an installer with non-standard behaviour?


Users of Mac OS X should be quite used to looking in the / Applications folder for apps. No need to clutter their desktop with Alias files.

BTW: Why does your app need an installer at all? Why not deliver on a disk image and have the user drag&drop install it.


I understand that this is accomplished by a postinstall
application.

[Or would it be postflight? I confess that I am not clear on the
intended usage differences between these phases.]

As others have commented, the postflight script is executed after every install while the postinstall and postupgrade scripts are only run when the installer ins in install vs. upgrade mode. You probably want postflight for your case. This is actually documented too:
<http://developer.apple.com/documentation/DeveloperTools/Conceptual/ SoftwareDistribution/Install_Operations/chapter_8_section_2.html>


BTW: How will you handle the case when a user reinstalls your app and the Alias file is already present? And what if the user renamed the Alias file?


[Another side question is whether I should be creating a symbolic
link as opposed to an alias. I also do not understand the functional
or user difference between the two.]

A symbolic link is just a pathname stored as a file with a special attribute. This means that when the target is renamed or moved the symbolic link becomes invalid.


An Alias file contains a Mac OS X AliasRecord which is much smarter about finding its target after something changes.

OTOH most software doesn't even realise it when a symbolic link is used while resolving an Alias file requires code in the app to handle.

For your case an Alias File would be the better choice.


In any case, I am searching for sample shell scripts, or pointers to
good sources of examples, for this and other common enhancements to a
basic installation procedure.

While you might get lucky and find something to help you out, the Apple Installer is currently not built to install anything into a users home directory. So finding the correct directory is not trivial. (At least when you take into account multiple users, network home directories, and other complications.)


One problem is that an installer that installs into /Applications needs root/admin permissions. It will then run its postflight script with these permissions as well. That makes it hard to even figure out the user who launched the installer (let alone other users on the machine). So finding the correct desktop folder is not easy.

I'd try to avoid these problems, unless there is an important reason not to. Creating a non-standard Alias file on the users desktop does not count as an important reason in my book.


If you persist in wanting to create an Alias on the users Desktop you micght look into sending the Finder an AppleEvent to create the Alias file for you. That would solve the issue of findung the correct desktop as well. Check out $ man osascript in the Terminal. But be aware that this might not work with remote installs. You might also get problems due to the root vs. user permissions in effect when executing the AppleScript.



I have read the Software Delivery Guide many times and find it
strangely detailed on many issues and simultaneously lacking on basic
overview concepts and other than very simple examples. I have also
searched on the ADC site and in the archives of this list and not
found a good source of samples or other useful docs.

Go and file bug reports, enhancement requests, etc. at <http:// bugreport.apple.com>. I'm sure the documentation could profit from feedback from your perspective.



Appreciative of all advice, help, pointers, etc.
Many thanks,

In summary: a) Don't create an installer package unless you have to. b) Don't do non-standard stuff which might annoy your customers.

Sorry, that's the best advice I can give you.


HTH Mike -- Mike Fischer Softwareentwicklung, EDV-Beratung Schulung, Vertrieb Web: <http://homepage.mac.com/mike_fischer/index.html> Note: I read this list in digest mode! Send me a private copy for faster responses.

_______________________________________________
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


  • Prev by Date: Problems with Metapackages/Packages logging messages to the console in Panther...
  • Next by Date: Re: creating alias during installation
  • Previous by thread: Re: creating alias during installation
  • Next by thread: Re: creating alias during installation
  • Index(es):
    • Date
    • Thread