InstallAnywhere Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Introduction: This article outlines the precise steps for digitally signing an OV code using a dongle. Instructions: 1. Connect Dongle to Laptop USB Drive:   You will need a SafeNet USB Token connected to a machine where InstallAnywhere software is present and install the SafeNet drivers that comes with the vendor.  EV vendor drivers will automatically place the certificate alias in the store without the associated private key. The actual signing process exclusively occurs from the dongle. 2. Navigate to InstallAnywhere: Open InstallAnywhere and go to Project -> Platforms -> Windows -> Digital Signing -> click (...) on certificate information. 3. Certificate Selection: A certificate selection form will appear. Choose the option "Use a certificate store." Specify Certificate store name as: Personal. Specify Certificate store location as: User. Select the Certificate subject from the list of certificate that will be populated.   4. Configure Signature Digest: Choose Signature digest as 'Based on certificate hash.' Click OK. 5. Timestamp Server Details:   Fill in the required details for the Timestamp Server. Enter the password. 6. Build InstallAnywhere Project: Build the InstallAnywhere project. During the build, a prompt will request the Token password. Enter the password. Notes:  1. User Authentication During Signing Process: Users will be prompted for the token password during the signing process when the certificate is accessed from the dongle. Note that the password prompt originates from the SafeNet or other EV vendor driver, not InstallAnywhere. The token password is mandatory to access the private key from the dongle, with all sensitive information ( including the token password ) is safeguarded by the administrator password.  2. Administrator Privileges:   Regardless of the user logged in, be it the administrator or another user, access is granted upon providing the correct password in the prompt generated by the vendor.  3. Successful Build Completion:   Following these steps, the build is completed successfully.  4. There is also an option called 'Enable single logon' setting that comes with EV client software tool (eg. SafeNet Authentication Client) which helps to limit user interventions per session with only one token password request.  5. These steps apply universally to various types of OV code signing certificates. 6. This feature is supported in all versions of InstallAnywhere that facilitate digital signing. How to Enable Single Sign - On:   1. Single Sign-On Option:   To enable single sign-on, click on the settings symbol in the top right corner of the SafeNet tool. Navigate to Client Settings and enable single logon with the accompanying option. 2. Step to bypass the need for entering the password with each build:   Unless the dongle is disconnected or a certain time interval is exceeded, it will not prompt for a password.
View full article
Introduction : To support GUI installers on Linux need to make sure the system has required libraries and X11 display. Missing Libraries : Missing the libXtst/libXrender RedHat Package Manager (RPM) which is required for a GUI install. In the Linux host, there is only the x64 (64 bits) version of libXtst/libXrender library installed.You have to install the i686 (32 bits) version of the library Both version must be installed (32 and 64 bits),Install the libXtst/libXrender RPM and its dependencies. Ex: # rpm -qa libXtst libXtxt-1.2.3-1.el7.x68_64 $ rpm -qa libXtst libXtst-1.2.3-1.el7.x86_64 (64 bits) libXtst-1.2.3-1.el7.i686 (32 bits) Enable X11 Forwarding : X11 forwarding allows a user to start up remote applications, and then forward the application display to their local Windows machine. It enables you to run GUIs from a local server. 1.Open the SSH daemon configuration file. $ sudo vi /etc/ssh/sshd_config. 2.Locate and uncomment or change line X11Forwarding to be X11Forwarding yes. 3.Restart SSH daemon. Want to use sudo: Sometimes launching the Installer as root, not as local user, will get this unsupported GUI error message.when you have a requirement that the installer be run as root, Issue this command before launching the installer, xhost +si:localuser:root xhost adds users to your Access Control List of your currently logged on GUI session. xhost + allows anyone, both remote and local, to access your current GUI session. The ACL is only modified for your current logged on session and gets cleared when you log out or reboot.
View full article
Introduction : The following steps will helps to change owner for installation directory to dynamic user(currently logged in user) Instructions: Linux and MAC: 1. Write a script file in advance, please add “sudo” before the chown command cd $USER_INSTALL_DIR$ usr=$(logname) echo $usr>>/tmp/name.txt sudo chown -v -R $usr ./* chmod -R 755./* kill -9 $(ps -p $(ps -p $PPID -o ppid=) -o ppid=) 2. Create a New Project 3. Add Execute the Target file action in post install sequence after install complete and choose the script file which was created in step1 4. Build and run the project 5. During installation, there will be a prompt for sudo password. After input the sudo password, the chown command can be executed.
View full article
Summary: This article discusses installers getting aborted without any proper message when using Java 17.0.8 or Java 11.0.20. Symptoms : When an Installer uses java 17.0.8 or 11.0.20 to execute itself the installer abruptly crashes with below stack trace and message “This Application has Unexpectedly Quit: Invocation of this Java Application has caused an ExceptionInInitializerError. This application will now exit. (LAX)”. Cause : A new JRE enhancement patch in Java 11 and Java 17 causes installers to crash due to new restrictions on ZipFS. As part of the fix for JDK-8251329, restrictions were added to the ZipFS provider to throw an exception if opening a ZIP file that contained entries with "." or ".." in its name elements. This behavior change may be problematic in older environments where modification of such ZIP files may be difficult. Workaround : A new system property java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property jdk.util.zip.disableZip64ExtraFieldValidation to true.. InstallAnywhere already provides a feature called additional arguments which can be used to modify the value of jdk.util.zip.disableZip64ExtraFieldValidation=true system property. In Windows: 1. Navigate to Project->JVM Settings->Installer Settings 2. Add argument -Djdk.util.zip.disableZip64ExtraFieldValidation=true in Additional arguments TextField In Linux, set JAVA_TOOL_OPTIONS= -Djdk.util.zip.disableZip64ExtraFieldValidation=true environment variable in /etc/environment file or vi ~/.bashrc
View full article
Introduction Abort installation if there is a symbolic link Instructions Step 1 : Create New Project with Either IA2021/IA2022/IA2023 in Linux Step 2 : Pre-Install sequence > Add Execute Script/Batch file action > find "installation folder name which you want find whether it has symbolic link or not" -type l     Step 3 : Add Execute custom code action > Add Abort Installation action jar with proper class name > rules > $EXECUTE_STDOUT$ does not equals $EMPTY_STRING$ Step 4 : Build and run the Project.  
View full article
Introduction: When connect to the concurrent license server, test connection was successful but getting The License server does not support this version of InstallAnywhere error message. Step 1 : Open the license.lic file in notepad then remove the hostname and replace it with the Actual Hostname as shown in the web browser of localhost 8090 license server under System information. Step 2 : Go to Vendor Daemon Configuration then click on Administer and Stop the MVSN then delete the MVSN by clicking delete as shown in above screenshot. Step 3 : Then re-import the same license.lic file make sure select checkbox overwrite license. Step 4 : Go to administer change the Vendor Daemon Location as "mvsn\mvsn" as shown in the above screenshot then click on save button and then click Start vendor Daemon button. Step 5 : Once the MVSN is again up and running then try to connect InstallAnywhere product to the license server by using the IP address then try Test connecting and then click on Finish So that the InstallAnywhere product will launch without any error.
View full article
Introduction: Merge module is not getting installed if we use Install Merge module Panel with latest java (11.0.20/17.0.8) in Linux/Ubuntu even after setting -Djdk.util.zip.disableZip64ExtraFieldValidation=true as additional argument. Troubleshooting Steps: Steps to replicate the issue: Step 1 : Create a simple merge module project with -Djdk.util.zip.disableZip64ExtraFieldValidation=true additional argument. Step 2 : Create Main Installer and add -Djdk.util.zip.disableZip64ExtraFieldValidation=true Step 3 : Goto Install sequence and add Install Merge module panel action Step 4 : Choose merge module project which was already created in step1. Step 5 : Build and run the project Step 6 : Goto Install Location and observe merge module not be installed. Steps to resolve the issue: Step 1 : Open /etc/environment file and set JAVA_TOOL_OPTION= -Djdk.util.zip.disableZip64ExtraFieldValidation=true OR Open ~/.bashrc or ~/.bash_profile and Set JAVA_TOOL_OPTION= -Djdk.util.zip.disableZip64ExtraFieldValidation=true Step 2 : Create a simple merge module project. Step 3 : Create Main Installer Step 4 : Goto Install sequence and add Install Merge module panel action Step 5 : Choose merge module project which was already created in step2 Step 6 : Build and run the project Step 7 : Goto Install Location and observe merge module will be installed.
View full article
Introduction : This article will helps you to copy host/system files from C drive to another Drive Instructions : Step 1 : Create a New Project Step 2 : Add Execute Script/Batch file action with this command,                 xcopy /y /o /h /i "C:\Windows\System32\drivers\etc\hosts" "E:\FCSBACKUP" Step 3 : Make sure the folder FCSBACKUP is available Step 4: Build and run the project. Step 5: Make sure the hosts files are copied to the expected location. More Information: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/xcopy
View full article
Introduction: This Article will helps you to solve the DB connection issue. Instructions: Steps to Reproduce: 1.Create a new project 2.Goto Organization and click host 3.Enter MS SQL Server details (server details and hostname) 4.Check the Custom driver setting and make sure the dependency Jars 5.In the Pre-Install Sequence add the Database connection panel 6.In the Install Sequence add the Run sql script action with any sample sql file 7.Build and run the project. You can see that the Database connection will fail ( Invalid username and password). Solution: Click on SQL Server Configuration Manager --> SQL Server Network Configuration--> Protocols for <Name>-->Right click on Properties--> Click on Tab "Flags"--> Force Encryption-> No other possibilities, 1. Disable the firewall 2. re-enabling the port( if still issue try with the default port) 3. Check the connectivity between the two machine (database and IA) 4. Check with hostname instead of IP
View full article
Introduction : This article will helps you understand the steps to sign the installer through command line. Instructions: Step 1 : Create a New simple Project with default setting. Step 2 : build the installer Step 3 : Open Command prompt and goto, <IA_HOME/>resource\nativetools\windows64> and run the     following command, IAWinDigiSign.exe /f <pfx file> /o <certificate name> /p <password> /t http://timestamp.digicert.com /algo CALG_SHA_256 <exe to be signed> where: • /f parameter is the path of PFX Certificate file to be used for signing • /p parameter is the Password for encoded certificate • /t parameter is the URL of time Stamp Server • /algo parameter is the algorithm used for signing like CALG_SHA_256 followed by the Executable which is to be signed. Step 4 : Goback to the Installer Location and right click-> Properties  
View full article
Introduction: This article will helps you to convert pvk/jks files into pfx file in Digital signing. Instructions : Scenario 1 : .pvk into .pfx If you have a self-signed certificate on a Windows machine, you will get two files: cert.pvk and cert.cer. These can be converted to a pfx using pvk2pfx. The Microsoft Pvk2Pfx command line utility seems to have the functionality you need: Pvk2Pfx (Pvk2Pfx.exe) is a command-line tool copies public key and private key information contained in .spc, .cer, and .pvk files to a Personal Information Exchange (.pfx) file. pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx Scenario 2 : .jks into .pfx To convert the Java Keystore file to a PFX file, you need to run the following Java Keytool command: keytool -importkeystore -srckeystore Sample.jks] -destkeystore myfile.pfx -srcstoretype JKS -deststoretype PFX -deststorepass [PASSWORD_PKCS12] Replace Sample.jks with the name of your actual java keystore file, and myfile.pfx file with the name of the .pfx file which you would like the command to generate. PASSWORD_PKCS12: password that will be requested at the PKCS#12 file opening. More info: To verify the contents of the .p12 file (e.g.myfile.pfx), run the following command: keytool -list -v -keystore myfile.pfx -storetype PFX    
View full article
Introduction: This article will helps you to remove “unknown publisher” on Windows Defender Instructions: It has to be signed with a trusted signature to display the publisher name. Click View certificate --> Install certificate (after install refresh and make sure there is no cross symbol on the certificate information logo) if still issue, then import it manually: 1. Click Start, click Start Search, type mmc, and then press ENTER. 2. On the File menu, click Add/Remove Snap-in. 3. Under Available snap-ins, click Certificates, and then click Add. 4. Under This snap-in will always manage certificates for, click Computer account, and then click Next. 5. Click Local computer, and click Finish. 6. If you have no more snap-ins to add to the console, click OK to return to the following screen. 7. In the console tree, double-click Certificates. 8. Right-click the Trusted Root Certification Authorities store. 9. Click Import to import the certificates and follow the steps in the Certificate Import Wizard. Then rebuild the installer and check it.  
View full article
Introduction This article will helps you to troubleshoot when an aspnetcore-runtime not getting installed through Execute/batch file action Steps to Replicate the issue: 1. Create new project 2. Goto Install sequence-> Add files -> add aspnetcore-runtime-7.0.2-win-x64.exe 3. Add Execute Script/Batch file action and add aspnetcore-runtime-7.0.2-win-x64.exe in the script section 4. Build and run the installer 5. Observe either ASP is not getting installed Troubleshooting Steps: 1. Create new project 2. Goto Install sequence-> Add files -> add aspnetcore-runtime-7.0.2-win-x64.exe 3. Add Execute target file action and choose aspnetcore-runtime-7.0.2-win-x64.exe 4. Build and run the installer 5. will get the pop up to install ASP
View full article
Introduction Even after Properly generated the license file and applied at in build machine, it still shows "The Installer was created Unlicensed version of InstallAnywhere". Troubleshooting Steps: The Following checks needs to be done to make sure everything configured in a right manner, 1. Make sure that you have generated the appropriate license file.     Ex: Standalone Build Perpetual License and Standalone Build Concurrent Perpetual License for SAB            which does not use GUI.     Concurrent Perpetual License/Concurrent Subscription for GUI 2. Register InstallAnywhere as the same user Jenkins runs the build that generated that installer. 3. If its SAB, Pass Command-Line Parameters to Build.exe to Specify Node-Locked License Information      build.exe -registerNodeLocked LicenseFilePathAndName 4. In case of GUI then register with the license.lic file for node-lock. 5. If still has issue, need to check that the license information is getting written to the properties file in       the user's home directory and that the property file exists when you build. enable verbose log(https://community.flexera.com/t5/InstallAnywhere-Knowledge-Base/Generating-InstallAnywhere-Log-for-Install-Uninstall-and-Build/ta-p/5458), while run the installer check the user home. If the user.home == C:\Users\Vanathi then the license information in the properties(com.zerog.ia.Designer.properties which is located under under C:\Users\Vanathi\InstallAnywhere\220\Premier\preferences) file should be designer.license.file.path=C\:\\Users\\Vanathi\\Desktop\\Licenses.lic" Outcome After all the above checks build and run the project, you will able to install the installer without unlicensed version message.
View full article
Summary Possible reasons why the installer icon is using an older icon or the default icon after changing the icon path to a new icon. Synopsis The setting to change the installer icon can be found in the Advanced Designer by going to Installer UI > Look & Feel Settings > Installer Icon > Executable Icon Path. Sometimes, updating this setting to a new custom icon path can fail to update the installer icon. This article goes over some possible scenarios where this may fail. Discussion Building an installer on a non-Windows machine or for a non-Windows target machine. Currently, the Installer Icon feature is only compatible on Windows. This feature utilizes libraries and executables available only on Windows, so it is required that the install.exe is built on a Windows machine. Building more than one project at a time. InstallAnywhere incorporates a custom installer icon at build time by changing the icon of self-extractor .exe files under <IA_HOME>\resource\launchanywheres\windows>. Therefore, if you specify a custom icon file, it is recommended that you build one project at a time. If you launch two instances of the same InstallAnywhere installation and build two different projects at the same time, each of which has a different icon selected on the Installer Icon setting, the wrong icon for one or both projects may be used. Windows icon cache has not been rebuilt. See Rebuilding the Icon Cache. Using a command-line build. See Old Icon Used When Building an InstallAnyhwere Installer from the Command-line Unable to access the Windows self-extractor location. Antivirus software or permissions issues can restrict access to the self-extractor location: <IA_HOME>\resource\launchanywheres\windows>. This can cause the installer icon to not display correctly.
View full article
Introduction: This article will helps you to resolve " JRE libraries are missing or not compatible" issue when running the Installer. vanathi@vanathi-VirtualM1:~/InstallAnywhere 2022 Projects/My_Product_5/My_Product_5_Build_Output/Default_Configuration/Web_Installers/InstData/Linux/VM$ ./install.bin -i console ./install.bin: 107: [: /home/vanathi/InstallAnywhere: unexpected operator Preparing to install Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... JRE libraries are missing or not compatible.... Exiting.... Scenario 1: If you do not have enough space in your default temporary directory, Installer will fail with "JRE libraries are missing or not compatible" as it does not have space to extract the zipped up resources. Please make more space available, or choose another temporary directory by exiting the installer. Scenario 2: When the /tmp was set to noexec, Installer will fail with "JRE libraries are missing or not compatible". The noexec mount option specifies that the filesystem cannot contain executable binaries. the noexec option will be set only when users cannot run executable binaries from /tmp. Troubleshooting Steps For Scenario 1: You can specify a different directory other than /tmp. The instructions are to set the IATEMPDIR environment variable to a directory on a disk partition with enough free disk space. For example: $ export IATEMPDIR=/var/tmp or export IATEMPDIR=/home/user/Desktop/tmp $ ./install.bin -i console OR Increase the /tmp space by using the following command: $mount -o remount,size=5G /tmp/ $ ./install.bin -i console For Scenario 2: Run Terminal and use one of the following commands to make sure that /tmp was set to noexec: vanathi@vanathi-VirtualM1:~/Desktop$ findmnt -l|grep noexec /sys sysfs sysfs rw,nosuid,nodev,noexec,relatime /proc proc proc rw,nosuid,nodev,noexec,relatime /dev udev devtmpfs rw,nosuid,noexec,relatime,size=940308k,nr_inodes=235077,mode=755,inode64 /dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 /sys/kernel/config configfs configfs rw,nosuid,nodev,noexec,relatime /tmp tmpfs tmpfs rw,noexec,noatime,size=978584k,nr_inodes=244646,inode64 /proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime or nathi@vanathi-VirtualM1:~/Desktop$ cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). tmpfs /tmp tmpfs defaults,rw,noatime,noexec,mode=1777 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 To remove the noexec from /tmp, 1. Edit /etc/fstab 2. Remove noexec from line containing /tmp mount vi /etc/fstab 3. reboot nathi@vanathi-VirtualM1:~/Desktop$ vi /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). #tmpfs /tmp tmpfs defaults,rw,noatime,noexec,mode=1777 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 nathi@vanathi-VirtualM1:~/Desktop$ reboot. Outcome: vanathi@vanathi-VirtualM1:~/InstallAnywhere 2022 Projects/My_Product_5/My_Product_5_Build_Output/Default_Configuration/Web_Installers/InstData/Linux/VM$ ./install.bin -i console Preparing to install Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... =============================================================================== My_Product_5 (created with InstallAnywhere) ------------------------------------------------------------------------------- Preparing CONSOLE Mode Installation... =============================================================================== Installing... -------------
View full article
Introduction: After successful install of one of the services registered by InstallAnywhere receives "Error:1053 The service did not respond to the start or control request in a timely manner". Use Case 1: Update windows/widows OS patching Go to Settings by pressing the Start button and finding the gear icon. In the Settings window, click on Update & Security. Click on Check for updates and let it check for updates. Install pending updates. Use Case 2: Administrator access: The service which you are trying to launch should be launched as an administrator if it is consuming system resources not meant for normal use.
View full article
Introduction When running an installer on a Linux installation that does not have netstat installed the following exception reported in the installer log, Exception: isPortAvaiable() : while get the available ip port Cannot run program "netstat": error=2, No such file or directory java.io.IOException: Cannot run program "netstat": error=2, No such file or directory at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) at java.base/java.lang.Runtime.exec(Runtime.java:592) at java.base/java.lang.Runtime.exec(Runtime.java:416) at java.base/java.lang.Runtime.exec(Runtime.java:313) at com.zerog.ia.installer.rmi.RmiServer.isPortAvaiable(Unknown Source) Steps to solve the issue:  The merge module needs to be configured to display its progress in the parent's progress, in absence of Netstat/net-tool in linux it will display the error message in the installer log. 1. Use the following command to install the netstat/net-tool package,      apt-get install net-tools 2. Then Build and run the installer and check the log. Outcome: After Install the netstat/net-tool package in linux/Ubuntu, the exception will disappear in the log.
View full article
Introduction Even after Properly generated the lic file and applied at in build machine, it still shows "The Installer was created Unlicensed version of Installanywhere". Troubleshooting Steps: The Following checks needs to be done to make sure everything configured in a right manner, 1. Make sure that you have generated the appropriate license file. Ex: Standalone Build Perpetual License and Standalone Build Concurrent Perpetual License for SAB which does not use GUI. Concurrent Perpetual License/Concurrent Subscription for GUI 2. Register InstallAnywhere as the same user Jenkins runs the build that generated that installer. 3. If its SAB, Pass Command-Line Parameters to Build.exe to Specify Node-Locked License Information build.exe -registerNodeLocked LicenseFilePathAndName 4. In case of GUI then register with the license.lic file for node-lock. 5. If still has issue, need to check that the license information is getting written to the properties file in the user's home directory and that the property file exists when you build. enable verbose log(https://community.flexera.com/t5/InstallAnywhere-Knowledge-Base/Generating-InstallAnywhere-Log-for-Install-Uninstall-and-Build/ta-p/5458), while run the installer check the user home If the user.home == C:\Users\Vanathi then the license information in the properties(com.zerog.ia.Designer.properties which is located under under C:\Users\Vanathi\InstallAnywhere\220\Premier\preferences) file should be designer.license.file.path=C\:\\Users\\Vanathi\\Desktop\\Licenses.lic" Outcome After all the above checks build and run the project
View full article
Introduction This Article will helps you to understand the steps required for Copy Files/folders from Windows to Ubuntu. Instructions To transfer a file from window to Ubuntu server follow these simple steps 1. First, Install and configure SSH on your Ubuntu server Execute the following commands : $ sudo apt update $ sudo apt install openssh-server Enable port 22 SSH in firewall $ sudo ufw allow 22 2. Check status whether SSH is running in a Ubuntu machine $ sudo systemctl status ssh 3. Create New project in InstallAnywhere 4. Add an Execute script/Batch file action and add the following command, pscp.exe -pw Nagu@123 C:\Users\Vanathi\Desktop\samplerunner.cmd vanathi@192.168.29.113:/home/vanathi/Desktop 5. Build and run the project. 6. Login to the Ubuntu machine and make sure the file is copied to the specified location. More Information https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html -> To Download the pscp.exe
View full article