Re: Message Strings do not seem to be working
Re: Message Strings do not seem to be working
- Subject: Re: Message Strings do not seem to be working
- From: Christopher Ryan <email@hidden>
- Date: Sun, 7 Aug 2005 13:20:55 -0700
IFRequirements will run at "InstallationCheck" time OR "VolumeCheck"
time depending on the type of requirement. If the requirement has to
do with the disk (as most of yours do), then it will prevent
selection of a disk, rather then show a dialog.
If you select one of the volumes with the stop sign, you should see
the error. The intention of "volume based" checks is that it blocks 1
or more volume, so it wouldn't make sense to block the whole install.
You might want to look at Distribution Scripts (new in Tiger). You
have much more control over this and you can even include a
Distribution script inside your normal package and have it work for
10.4 and later and the IFRequirements for 10.3X and earlier.
Chris
Hi!
I am having trouble getting IFRequirementDicts messages to work. I
have
appended the dump of the dictionary below. There are four tests:
1. That the version of the OS is 10.3.2 or greater.
2. That MyApp.app is present in /Applications.
3. That version 1.1 of MyApp.app is not already installed.
4. That the version of MyApp that is installed is earlier than 1.1.
All of these tests appear to work correctly. What does not seem to be
working is to display the messages associated with the various
TitleKey and
MessageKey strings.
What I actually see is the normal behavior of the Installer guiding me
through the Introduction, Read Me and License screens. When I get
to the
Select Destination screen then:
a. if all of the tests pass, the volume is selected and the Continue
button is enabled.
b. if any test fails, the volume has a stop symbol and the Continue
button is disabled.
While this obviously suffices for preventing installation when any
test
fails, it is hardly user-friendly in that the user is left none-the-
wiser
as to the reason.
I have experimented with removing other files in the Resources
directory
(background.gif, ReadMe.rtf, License.rtf, Welcome.rtf) to see if
any of
those are getting in the way. No difference.
If I change tests 3 & 4 to be SpecType=bundle, then they always
succeed
even if they should fail. I have tried every permutation of the
SpecArgument that I can think of ("/Applications/MyApp",
"/Applications.MyApp.app" - which causes Installer to crash,
"/Applications/MyApp.app/", even just "MyApp").
Is there some trick to getting the messages to appear at roughly
the same
point as they do for an InstallationCheck script? I can continue to
use
InstallationCheck but I was hoping to move to the requirements
dictionary
approach because it seems simpler to maintain.
For the record, I am trying all this on a vanilla install of
10.4.2/8C46
with Xcode 2.1.
Regards & thanks
------------
<key>IFRequirementDicts</key>
<array>
<dict>
<key>LabelKey</key>
<string>Must be Mac OS X 10.3.2 or greater</string>
<key>Level</key>
<string>requires</string>
<key>MessageKey</key>
<string>MKey1</string>
<key>SpecArgument</key>
<string>/System/Library/CoreServices/SystemVersion.plist</string>
<key>SpecProperty</key>
<string>ProductVersion</string>
<key>SpecType</key>
<string>plist</string>
<key>TestObject</key>
<string>10.3.2</string>
<key>TestOperator</key>
<string>>=</string>
<key>TitleKey</key>
<string>TKEY1</string>
</dict>
<dict>
<key>LabelKey</key>
<string>Must be in /Applications</string>
<key>Level</key>
<string>requires</string>
<key>MessageKey</key>
<string>MKey2</string>
<key>SpecArgument</key>
<string>/Applications/MyApp.app</string>
<key>SpecType</key>
<string>file</string>
<key>TitleKey</key>
<string>TKey2</string>
</dict>
<dict>
<key>LabelKey</key>
<string>Must not be update version</string>
<key>Level</key>
<string>requires</string>
<key>MessageKey</key>
<string>MKey3</string>
<key>SpecArgument</key>
<string>/Applications/MyApp.app/Contents/Info.plist</string>
<key>SpecProperty</key>
<string>CFBundleVersion</string>
<key>SpecType</key>
<string>plist</string>
<key>TestObject</key>
<string>1.1</string>
<key>TestOperator</key>
<string>!=</string>
<key>TitleKey</key>
<string>TKey3</string>
</dict>
<dict>
<key>Label Key</key>
<string>Must be earlier version</string>
<key>Level</key>
<string>requires</string>
<key>MessageKey</key>
<string>MKey4</string>
<key>SpecArgument</key>
<string>/Applications/MyApp.app/Contents/Info.plist</string>
<key>SpecProperty</key>
<string>CFBundleVersion</string>
<key>SpecType</key>
<string>plist</string>
<key>TestObject</key>
<string>1.1</string>
<key>TestOperator</key>
<string><</string>
<key>TitleKey</key>
<string>TKey4</string>
</dict>
</array>
---- IFRequirement.strings ----
"MKey1" = "Message Key 1";
"MKey2" = "Message Key 2";
"MKey3" = "Message Key 3";
"MKey4" = "Message Key 4";
"TKey1" = "Title Key 1";
"TKey2" = "Title Key 2";
"TKey3" = "Title Key 3";
"TKey4" = "Title Key 4";
_______________________________________________
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
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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