tmoore7179
Pilgrim

Unable to localize license agreement

Hello,

I've followed InstallAnywhere 2011's online documentation included with the product on how to localize the license agreement to the letter. However, when the installer is run, it cannot locate the localized license files. First, here are the steps I've followed and then I'll paste the exception below it:

1. Open IA Advanced Designer and specified the path to the English license agreement in the License Agreement panel in the Pre-Install task.
2. Added the license.txt to the Install task, specifying the Destination as the User Install Folder. Also, this is under "Assign to Product Features" in the Visual Tree.
3. When the installer is built, this works perfectly and displays the license as expected. The license.txt is placed in the correct folder after installation.
Now...localization...
4. To localize the license, I created a license_ja.txt file and placed it in the same directory as the license.txt.
5. I opened the IA Advanced Designer and checked off Japanese in the Locales subtask of the Build task. After saving, it generated the custom_en and custom_ja locale files for me.
6. I opened custom_ja (ensuring it was UTF-8) and found the LicenseAgrAction.#.resourceName property. I set it to the name of the new ja license file.
7. I set the LicenseAgrAction.#.resourcePath to the location of the license file (happens to be the same location as for custom_en).
8. I save my changes and build.
9. I can see license.txt and license_ja.txt in my Resource1.zip. If I run the installation in English, then it displays the license correctly and places both license files in the desired location.
10. However, only license.txt is located in the Execute.zip. This appears to be the root of the problem because when I run the installation in Japanese, then it says "Unable to locate the selected file" on the license agreement panel and gives the exception below.

I'm pulling out my hair trying to figure this out. :eek: PLEASE has anyone run into this or simply know how to fix it? I've been having similar issues with localized images as well.

ZGUtil.getInputStream(): unable to load resource:
$INSTALL_HOME$/src/resources/dvd/support/install-properties/license.txt
java.io.FileNotFoundException: $INSTALL_HOME$\src\resources\dvd\support\install-
properties\license.txt (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:120)
at java.io.FileInputStream.(FileInputStream.java:79)
at ZeroGd.b(DashoA10*..)
at ZeroGd.m(DashoA10*..)
at com.zerog.ia.installer.actions.LicenseAgrAction.getMessageText(DashoA
10*..)
at com.zerog.ia.installer.actions.LicenseAgrAction.n(DashoA10*..)
at com.zerog.ia.installer.installpanels.LicenseAgrActionPanel.h(DashoA10
*..)
at com.zerog.ia.installer.installpanels.LicenseAgrActionPanel.g(DashoA10
*..)
at com.zerog.ia.installer.installpanels.LicenseAgrActionPanel.b(DashoA10
*..)
at com.zerog.ia.api.priv.ZGInstallPanelProxy.a(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.m(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
at com.zerog.ia.installer.Main.main(DashoA10*..)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.zerog.lax.LAX.launch(DashoA10*..)
at com.zerog.lax.LAX.main(DashoA10*..)
Setting variable MKS_LANGUAGE to value: ja
ZGUtil.getInputStream(): unable to load resource:
$INSTALL_HOME$/src/resources/dvd/support/install-properties/license.txt
java.io.FileNotFoundException: $INSTALL_HOME$\src\resources\dvd\support\install-
properties\license.txt (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:120)
at java.io.FileInputStream.(FileInputStream.java:79)
at ZeroGd.b(DashoA10*..)
at ZeroGd.m(DashoA10*..)
at com.zerog.ia.installer.actions.LicenseAgrAction.getMessageText(DashoA
10*..)
at com.zerog.ia.installer.installpanels.LicenseAgrActionPanel.i(DashoA10
*..)
at com.zerog.ia.installer.installpanels.LicenseAgrActionPanel.c(DashoA10
*..)
at ZeroGhn.panelIsDisplayed(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.f(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.n(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.f(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.n(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.f(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.n(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.f(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.n(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.AAMgrBase.m(DashoA10*..)
at com.zerog.ia.installer.AAMgr.a(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.d(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.m(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
at com.zerog.ia.installer.Main.main(DashoA10*..)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.zerog.lax.LAX.launch(DashoA10*..)
at com.zerog.lax.LAX.main(DashoA10*..)

Thanks,
Tracy
Labels (1)
0 Kudos
1 Reply
SunnyBoy
Pilgrim

Re: Unable to localize license agreement

Hello Tracy,

I have followed the below steps and was able to localize a license agreement file

1. Add a license agreement action on the pre install sequence.
2. Under Project->Locales, select all locales which will be supported by the install
3. Select a default agreement file (for example English) and call it agreement_en.txt. Place the file in the IA project directory.
4. Create a localized version for each language you want to support in the same directory as default agreement file. It is recommend that the files are placed in the IA project directory, and that the the files are named in an easy to identify format such as agreement_en.txt, agreement_fr.txt ,agreement_nl.txt etc etc.
5. On the install panel add each agreement_xx.txt file to the installer. For the destination folder select the magic folder "DO NOT INSTALL" in the drop down list. This indicates that the files will be bundled with the installer (so that it is included and can be shown when the user selects a language), but the file will not actually be installed onto the machine during the install.
6. Save your project
7. Go to the locales folder.
8. For each country edit the custom_xx file and search for the string LicenseAgrAction
9. You should see two lines that look similar to the following:

# LicenseAgrAction.33aad7069579.resourceName=agreement_en.txt
LicenseAgrAction.33aad7069579.resourceName=agreement_en.txt
10. For each custom_xx file, change the second line (the one WITHOUT the #) to the license file name which reflects the language code of the custom_xx file. For instance, in the file custom_fr , the second line would be changed to:

LicenseAgrAction.33aad7069579.resourceName=agreement_fr.txt
11. Repeat this change for each locale.
12. Build your project.


Regards
SunnyBoy
0 Kudos