- This topic has 7 replies, 3 voices, and was last updated 16 years, 7 months ago by
Patrick Fergus.
-
AuthorPosts
-
August 14, 2008 at 5:36 am #373745
scr
ParticipantHello!
I am trying to create an InstallerChoices.xml file for iLife 08 but I am having a bit of trouble and was hoping someone can provide some assistance. I’m running all this on a Leopard client 10.5.4. Firstly I mount the install DVD then run:
[code]installer -showChoicesXML -pkg /Volumes/iLife\ \’08\ Install\ DVD/iLife\ \’08.mpkg | less[/code]
to view the choice descriptors eg:
[code]
choiceDescription
This package installs iDVD ’08
choiceIdentifier
iDVD
choiceIsEnabled
choiceIsSelected
0
choiceIsVisible
choiceSizeInKilobytes
126455
choiceTitle
iDVD
pathsOfActivePackagesInChoice [/code]Then I create an InstallerChoices.xml file using vi from the command line and enter the following information, then save and exit:
[code]
[/code]
iDVD
From what I understand I have to have a string entry for each ‘click’ of the mouse that I would perform if I was actually using the Installer normally. In my case I would like to change the iDVD portion of the installer from a – symbol to a tick (ie installing iDVD with its extra theme content). This takes one ‘click’ in the installer so I put one line of the string in the InstallerChoices.xml file.
Then to check to see if it works I run:
[code]sudo installer -showChoicesAfterApplyingChangesXML InstallerChoices.xml -pkg /Volumes/iLife\ \’08\ Install\ DVD/iLife\ \’08.mpkg
[/code]
From the directory where the InstallerChoices.xml file is located and I receive the following error:[code]installer: choices file ‘InstallerChoices.xml’ either could not be found or was malformed.
[/code]
If i remove theiDVD line and just have the array tags I do not get an error, but I cant see whats wrong with my syntax of the string tag. Have I put the wrong Choice Identifier in? Or have I totally misunderstood how the InstallerChoices.xml file is supposed to work?Thanks in advance.
August 15, 2008 at 11:55 am #373761Patrick Fergus
ParticipantAre you sure you have the correct choiceIdentifier? The one you listed isn’t enabled (visible in the GUI) nor selected (checked). Possibly you’re seeing the choiceIdentifier for a choice [i]within[/i] the iDVD pkg which is part of the iLife ’08 mpkg?
– Patrick
August 15, 2008 at 1:02 pm #373763Patrick Fergus
ParticipantNo. That’s not it. Part of the puzzle is that if you tell “installer” to show your possible choices, but you target a different drive (I’m targeting one without an OS while testing), you get a different arrangement of choices (reflecting the software that must be installed when installing on that drive).
– Patrick
August 15, 2008 at 3:17 pm #373766Patrick Fergus
ParticipantAdjusting the target of the installer command makes a difference. The iDVD package is half checked, so it does need to be checked twice to disable it. The InstallerChoices.xml for this case would be:[code]
[/code]So if you do the following:[code]sudo installer -showChoicesXML -pkg /Volumes/iLife\ \’08\ Install\ DVD/iLife\ \’08.mpkg -target /Volumes/OS-Build-08-07-09[/code]You will see (in part):[code]
iDVD
iDVD
choiceDescription
This package installs iDVD ’08. iDVD ’08 requires a 733 MHz G4 processor, or faster. A SuperDrive is required for burning DVDs.
choiceIdentifier
iDVD
choiceIsEnabled
choiceIsSelected
-1
choiceIsVisible
choiceSizeInKilobytes
126455
choiceTitle
iDVD
pathsOfActivePackagesInChoice
[/code]and then use the above InstallerChoices.xml and do the following:[code]sudo installer -showChoicesAfterApplyingChangesXML ~/Desktop/InstallerChoices.xml -pkg /Volumes/iLife\ \’08\ Install\ DVD/iLife\ \’08.mpkg -target /Volumes/OS-Build-08-07-09[/code]You will see (in part):[code]
file://localhost/Volumes/iLife ’08 Install DVD/iLife ’08.mpkg/Contents/Installers/iDVD.mpkg/Contents/Installers/iDVD.pkg
choiceDescription
This package installs iDVD ’08. iDVD ’08 requires a 733 MHz G4 processor, or faster. A SuperDrive is required for burning DVDs.
choiceIdentifier
iDVD
choiceIsEnabled
choiceIsSelected
0
choiceIsVisible
choiceSizeInKilobytes
126455
choiceTitle
iDVD
pathsOfActivePackagesInChoice
[/code]Your choice is no longer “selected” and hopefully it will work. Let us know.
file://localhost/Volumes/iLife ’08 Install DVD/iLife ’08.mpkg/Contents/Installers/iDVD.mpkg/Contents/Installers/iDVD.pkg
– Patrick
August 27, 2008 at 1:01 am #373905scr
ParticipantThanks Patrick. I finally got around to testing it again and its all working great now. I think that target tag was the key.
September 13, 2008 at 8:04 pm #374088Giobbi
ParticipantHi.
Maybe a stupid question but where exactly does the iDVD string go? In then InstallerChoices.xml file at the root or is there a special file just for the iLife installation? And if i have customized the base installation too how do i mix the different arrays and strings? Like this below, just put’em in the same array?
[code]
[/code]
PrinterDriversGroup
AdditionalFonts
iDVD
iDVD
iWeb
Im planning do do some tweaking with the iWorks package to so i will have more strings to add.
thx.
p
Great example above Patrick!
September 13, 2008 at 8:27 pm #374089Giobbi
Participant[QUOTE][u]Quote by: Giobbi[/u][p]Hi.
Ok, i read the manual, “put in in the same folder as the package…”
javascript:emoticon(‘:)’)
Maybe a stupid question but where exactly does the iDVD string go? In then InstallerChoices.xml file at the root or is there a special file just for the iLife installation? And if i have customized the base installation too how do i mix the different arrays and strings? Like this below, just put’em in the same array?
[code]
[/code]
PrinterDriversGroup
AdditionalFonts
iDVD
iDVD
iWeb
Im planning do do some tweaking with the iWorks package to so i will have more strings to add.
thx.
p
Great example above Patrick![/p][/QUOTE]
September 16, 2008 at 2:20 pm #374121Patrick Fergus
ParticipantYou’re going to need to place the InstallerChoices.xml into the same folder as the package you’re getting iLife [i]from[/i]. The InstaDMG 1.4b3 docs say:
“As of InstaDMG 1.4b2 you can use an InstallerChoices.xml file for each installer package by placing it in the package folder. For example you could put an InstallerChoices.xml file in the Microsoft Office 2008 package folder to control the Office components that are installed.”
The other way to look at it is the InstallerChoices.xml file placed in the “BaseOS” folder only is invoked against the OS installation. If your installation DVD includes a copy of iLife (i.e. non-retail), then your InstallerChoices will need to be part of the “BaseOS” choices. If you’re using a retail iLife install DVD, and thus a separate pkg, it will need to be in the same folder as the iLife package.
YMMV–I don’t have an OEM version of Leopard with iLife (all pro equipment here) so I [i]might[/i] be wrong. Using “installer -showChoicesXML -pkg /path/to/package.pkg” will let installer report exactly how OEM copies function and whether you need a single InstallerChoices for an OEM disc or separate ones.
– Patrick
-
AuthorPosts
- You must be logged in to reply to this topic.
Comments are closed