Re: Installing plugins
Re: Installing plugins
- Subject: Re: Installing plugins
- From: John Kirkham <email@hidden>
- Date: Thu, 26 May 2005 19:40:17 -0400
Hi Rob,
I've tried this and got it to work using:
CFArrayRef LSCopyApplicationURLsForURL (
CFURLRef inURL,
LSRolesMask inRolesMask
);
This requires a URL that would be handled by the expected application -
this means that if you wanted to find apps that handle a certain
document you'd need to know where one is or create a dummy one (ie,
here file-type is specified by the file name extension).
The second field allows you to specify the role so you could narrow it
down to a list of editors that handle that file-type.
The result is an array of URL's that point to the applications that
handle it. Note that special characters, including spaces, are
URL-encoded so you have to handle this if you want a more typical unix
path string.
I hope this helps. I'm sure there must be a better way to do it, so if
you find out please post back to this list. Thanks.
In Mac OS 10.3 and later the installer also lets you locate installed
applications using the bundle identifier. If you haven't already
checked it out, try reading the following:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/
SoftwareDistribution/Concepts/sd_find_file.html#//apple_ref/doc/uid/
20001941
John Kirkham
Alias -- Toronto, Canada
On 26-May-05, at 18:31, Rob Keniger wrote:
Hi,
I'm not sure if this is OT or not so please feel free to point me to
another list.
I have a plugin for Adobe GoLive that requires several different files
to be installed in different places in an already-installed copy of
GoLive.
I have developed an installer that first copies the files to be
installed to a folder in the /Applications folder and then, using a
postflight script, identifies the default copy of GoLive using the
LaunchServices APIs (specifically, LSGetApplicationForInfo) and then
moves the files to the correct locations in that copy of GoLive. This
works perfectly back to 10.2.
The main problem I have is working out what to do if the user has more
than one copy of GoLive installed. I'd like to prompt the user for the
install location and I realise I'll have to do that using an
application. However, the LaunchServices APIs don't appear to have a
method that returns all applications matching a given bundle
identifier or creator code, so I don't think I can easily obtain a
list of installed copies of GoLive. However, there must be a way to do
this. I don't really want to do a manual scan of the file system to
locate copies of GoLive if I can possibly help it.
Does anyone have any ideas?
--
rob.keniger
------ menumachine for adobe golive ------
build dynamic drop-down menus in seconds
------- http://www.menumachine.com -------
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden
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