Message Strings do not seem to be working
Message Strings do not seem to be working
- Subject: Message Strings do not seem to be working
- From: Phill Kelley <email@hidden>
- Date: Sat, 6 Aug 2005 18:31:26 +1000
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