May 20, 2020
11:39 AM
InstallAnywhere StandAlone Build with Docker
Build your own Docker Image with InstallAnywhere SAB
On an machine where Docker is installed, create Folder (eg: IADockerBuild).
Copy InstallAnywhere installer (eg: InstallAnywhere2020.bin for Ubuntu docker) to the above created folder (i.e IADockerBuild) and ensure the file has execute permissions.
Create a file called DockerFile (no extension) inside the above created folder (i.e IADockerBuild) with the following content
[Dockerfile] # Base Ubuntu Image FROM ubuntu:latest # Change to Root Dir WORKDIR / # Copy InstallAnywhere installer to root ADD InstallAnywhere2020.bin / # InstallAnywhere installation RUN ./InstallAnywhere2020.bin -i silent
Launch Terminal and navigate to the above created folder (i.e IADockerBuild)
Run the following command as 'sudo' or root user to build the Docker image with InstallAnywhere installed:
docker build -t installanywhere2020 --no-cache=true .
Wait for the build to complete. Once the build is complete run the following command to list the newly created image
docker images
License InstallAnywhere SAB
Activate a Node Locked License
For activating SAB using a node locked license, you need to manually copy the license file (license.lic) to InstallAnywhere [INSTALLDIR] location. It is also mandatory to create the container with --mac-address option, else the MAC/Physical address will be dynamic each time you create a new container.
Open the license file that you want to use for activating InstallAnywhere SAB and copy the MAC address.
Use the same/copied MAC/Physical address to create the container using --mac-address
docker run --mac-address <MAC-ADDRESS> -it <IMAGE>
(Optional) In case if you want to create container, mount folder and assign MAC address at the same time run the following command:
docker run --mac-address <MAC-ADDRESS> -v "<HOST-DIR>:<CONTAINER-DIR>" -it <IMAGE> Where: MAC-ADDRESS : is separated by colon( : ), eg: 00:16:7F:51:03:7D HOST-DIR : folder present in Physical machine/VM CONTAINER-DIR : folder inside the container; if the folder does not exist it will automatically create it.
The license file need to be copied to the installation folder. The container should be in Exited state in order to copy files to a container. Run the following command to Stop the container:
docker stop <CONTAINER-ID/CONTAINER-NAME>
4. After the container is stopped, run the following command to copy the license file (i.e license.lic) to docker container.
"docker cp license.lic <CONTAINER-ID/CONTAINER-NAME>:root
5. After the license file copy is done, run the following command to Restart the container:
docker start <CONTAINER-ID/CONTAINER-NAME>
6. Navigate to the install directory
cd /root/InstallAnywhere\ 2020
7. Register the Nodelocked license to the SAB build using the following command
./build -registerNodeLocked [path_of_license_file]
Activate a Concurrent License
Run the command as sudo or root user
docker run -it <IMAGE>
2. Navigate to the InstallAnywhere location
cd /root/InstallAnywhere\ 2020
3. Register the SAB build with concurrent License Server
./build ls <License Server Port>@<License Server IP Address>
Note:
Please refer the following for addition details on the commands used:
docker build: https://docs.docker.com/engine/reference/commandline/build/
docker images: https://docs.docker.com/engine/reference/commandline/images/
docker start : https://docs.docker.com/engine/reference/commandline/start/
docker stop : https://docs.docker.com/engine/reference/commandline/stop/
docker cp: https://docs.docker.com/engine/reference/commandline/cp/
docker run: https://docs.docker.com/engine/reference/run/
... View more
May 14, 2020
01:46 PM
FlexNet Connect Integration with InstallShield is deprecated, starting InstallShield 2020
Background
InstallShield and FlexNet Connect has an integration with Update Notifications view where a setup can check for updates for new versions during installation using FlexNet Connect libraries. These libraries are no longer actively maintained by Flexera and hence have outdated Open Source components that have security vulnerabilities. In the interest of our customers’ security, we have chosen to deprecate this support.
Impact on existing projects
This impacts Basic MSI, InstallScript and InstallScript MSI projects where we allow FlexNet Connect integration via Update Notifications view or InstallScript Objects. If you are an existing customer already using this integration, after you upgrade to InstallShield 2020, you will be presented with a warning about the deprecation. However, you can continue using the integration at your own risk.
How to continue using Update Notifications view
Starting InstallShield 2020, the below merge modules which consists of the libraries for FlexNet Connect are no longer shipped. If you wish to continue using this integration, you will have to manually copy the merge modules from a previous release of InstallShield to <InstallShield_Location>\Objects\i386 folder
Merge modules to be copied: fnc1303_full.msm, fnc1306_full.msm, fnc1303_lite.msm, fnc1306_lite.msm
Impact on New projects
New projects are not impacted. The ‘Update Notifications’ view will no longer appear in newly created projects in InstallShield 2020.
Removal of Integration
While InstallShield 2020 only deprecates the support and would still allow your existing projects to continue using this integration, in future releases, we intend to drop this support in its entirety. Meaning – both new and existing projects will not be able to use this integration.
If you have further questions, please reach out to our support team. We are happy to help!
... View more
Labels:
Dec 20, 2019
07:35 AM
InstallShield StandAlone Build with Docker
Build your own Docker Image with InstallShield SAB
On a machine where Docker is installed, create Folder (eg: ISDockerBuild).
Copy InstallShield SAB installer (eg: InstallShield2019R3StandaloneBuild.exe) to the above created folder (i.e ISDockerBuild).
Create a file called DockerFile (no extension) inside the above created folder (i.e ISDockerBuild) with the following content or Download the same from here
[Dockerfile]
# Base Windows Image FROM mcr.microsoft.com/windows:1809 # Change to Root Dir WORKDIR / # Copy InstallShield installer to root ADD InstallShield2019R3StandaloneBuild.exe / # InstallShield installation RUN InstallShield2019R3StandaloneBuild.exe /s /v"INSTALLLEVEL=101 SABCONTAINER=1 /qn"
The final folder should look like this:
Launch CMD (Run As Administrator), and navigate to the above created folder (i.e ISDockerBuild)
Run the following command to build the Docker image with InstallShield installed:
docker build -t installshield-sab-2019r3 --no-cache=true .
Wait for the build to complete. Once the build is complete run the following command to list the newly created image
docker images
License InstallShield SAB
Activate a Node Locked License
For activating SAB using a node locked license, you need to manually copy the license file (license.lic) to InstallShield [INSTALLDIR] location: usually C:\Program Files (x86)\InstallShield\<IS-VERSION>\System\
It is also mandatory to create the container with --mac-address option, else the MAC/Physical address will be dynamic each time you create a new container.
Open the license file that you want to use for activating InstallShield SAB and copy the MAC address.
Use the same/copied MAC/Physical address to create the container using --mac-address
docker run --mac-address <MAC-ADDRESS> <IMAGE> <CMD>
(Optional) In case if you want to create container, mount folder and assign MAC address at the same time run the following command:
docker run --mac-address <MAC-ADDRESS> -v "<HOST-DIR>:<CONTAINER-DIR>" <IMAGE> <CMD> Where: MAC-ADDRESS : is separated by colon( : ), eg: 00:16:7F:51:03:7D HOST-DIR : folder present in Physical machine/VM CONTAINER-DIR : folder inside the container; if the folder does not exists it will be automatically create it.
The container should be in Exited state in order to copy files to a container. Run the following command to Stop the container:
docker stop <CONTAINER-ID/CONTAINER-NAME>
After the container is stopped, run the following command to copy the license file (i.e license.lic) to docker container.
"docker cp license.lic <CONTAINER-ID/CONTAINER-NAME>:C:\Program Files (x86)\InstallShield\<IS-VERSION>\System\"
After the license file copy is done, run the following command to Restart the container:
docker start <CONTAINER-ID/CONTAINER-NAME>
Activate a Concurrent License
Download ini from here.
Open and edit ini with your concurrent server details.
If you are configured with FlexNet License server , then specify the "Server" with the server IP and port information and remove the "CLSServer" from the server.ini file.
Or
If you got Cloud License Server (CLS) ID from Revenera, then configure the "CLSServer" with the Cloud License Server (CLS) ID and remove the "Server" from the server.ini file.
For FlexNet License server: CC-SERVER - Concurrent Server CC-PORT - Concurrent Server Port For Cloud License Server: CLSServer = XXXXXXXXXX - where XXXXXXXXX is the CLS Server ID you got from Revenera
Copy ini to InstallShield [INSTALLDIR] location, Usually C:\Program Files (x86)\InstallShield\<IS-VERSION>\System\
If the container is running, you need to stop the container. Run the following command to Stop the container:
docker stop <CONTAINER-ID/CONTAINER-NAME>
After the container is stopped, run the following command to copy ini file to docker container.
docker cp server.ini <CONTAINER-ID/CONTAINER-NAME:C:\Program Files (x86)\InstallShield\<IS-VERSION>\System\
After ini file copy is done successfully, run the following command to Restart the container:
docker start <CONTAINER-ID/CONTAINER-NAME>
Downloading a Docker image with pre-installed StandAlone Build
You can download a docker image with pre-installed InstallShield 2019 R3 StandAlone build.
docker pull flexerasoftware/installshield:sab2019r3
Note: By choosing to download the above docker image, you agree to accept the terms and conditions outlined in our End User License Agreement available at https://www.flexera.com/legal/clickthrough
Building InstallShield projects via Docker Container
Considering that you already have a Docker image with InstallShield or you are using the Docker image provided by InstallShield.
Run the following command to create a container and mount directory in an interactive process
docker run -it -v "<HOST-DIR>:<CONTAINER-DIR>" <IMAGE> <CMD>
(Optional) In case if you want to create container, mount folder and assign MAC address at the same time run the following command:
docker run -it --mac-address <MAC-ADDRESS> -v "<HOST-DIR>:<CONTAINER-DIR>" <IMAGE> <CMD> Where: MAC-ADDRESS : is separated by colon( : ), eg: 00:16:7F:51:03:7D HOST-DIR : folder present in Physical machine/VM CONTAINER-DIR : folder inside the container; if the folder does not exists it will be automatically create it.
To license InstallShield SAB please refer here.
Navigate to C:\Program Files (x86)\InstallShield\2019 SAB\System
Run the following command to build your project:
IsCmdBld.exe -p "C:\InstallShield Projects\MyAppProject.ism"
Build Windows Server Core Docker Image with InstallShield SAB
InstallShield SAB setup can be installed on the Windows server core image, but we noticed that the InstallScript projects faili to build in the Windows server core image due to the missing Microsoft Windows library - Oledlg.dll. Server Core provides you with a minimal installation of Windows Server, with minimal features and supports only certain server roles. Oledlg.dll is not included with the Server core installation. Since InstallScript heavily relies on this library, building an InstallScript project fails with below error:
ISDEV : error -7041: Could not create instance of CABEngine, CABEngine component might not be installed or registered properly. You may need to reinstall InstallShield.
So, in order to build the InstallShield projects in the Server core image, copy the Oledlg.dll from a Windows Server full installation to the Windows Server Core, once after preparing the Windows server core image with InstallShield SAB setup as described in the starting of this article. Copy the 32 bit Oledlg.dll from a Windows Server full installation(from C:\Windows\SysWOW64 directory) to Windows server core (C:\Windows\SysWOW64) directory.
Reference :
1- DLLs Included with Server Core
2- Microsoft TechNet Forum
Apart from the OleDlg.dll copy, ensure to specify the Windows Server Core base image in the Docker file while creating the image as below:
[Dockerfile]
# Base Windows server core Image FROM mcr.microsoft.com/windows/servercore:20H2 # Change to Root Dir WORKDIR / # Copy InstallShield installer to root ADD InstallShield2019R3StandaloneBuild.exe / # InstallShield installation RUN InstallShield2019R3StandaloneBuild.exe /s /v"INSTALLLEVEL=101 SABCONTAINER=1 /qn"
Note:
Please refer the following for addition details on the commands used:
docker build: https://docs.docker.com/engine/reference/commandline/build/
docker images: https://docs.docker.com/engine/reference/commandline/images/
docker start : https://docs.docker.com/engine/reference/commandline/start/
docker stop : https://docs.docker.com/engine/reference/commandline/stop/
docker cp: https://docs.docker.com/engine/reference/commandline/cp/
docker run: https://docs.docker.com/engine/reference/run/
... View more
Labels:
Oct 31, 2019
10:41 AM
Symptoms:
InstallAnywhere digital signing feature uses a timestamp URL from Symantec which is being decommissioned (more details here) and migrated to Digicert. Signing with new Digicert URL causes a breakage in Digital Signing
Diagnosis:
When signing an installer with SHA-256 digest, using the new Digicert server (http://timestamp.digicert.com), the resulting installer is signed by SHA-256 digest, but the counter signatures are signed with SHA1 due to an incorrect order in which InstallAnywhere calls the signing APIs
Affected InstallAnywhere Versions
InstallAnywhere 2015 InstallAnywhere 2017 InstallAnywhere 2018 InstallAnywhere 2020 All minor releases of the above releases included
Resolution
The issue is resolved in a hotfix that can be downloaded from here. Please note that the hotfix is applicable on the latest service packs of above affected versions.
Download and extract the contents of the file.
Copy x86/IAWinDigiSign.exe to <IA_Install_Location>/resource/nativetools/windows
Copy x64/IAWinDigiSign.exe to <IA_Install_Location>/resource/nativetools/windows64
After replacing the above files, in your InstallAnywhere project, navigate to Project à Platforms à Windows à Digital Signing and update the Timestamp server field to http://timestamp.digicert.com
Additional Information
If there are any additional issues, please contact our Technical Support team
... View more
Labels:
Latest posts by sparameshwara
Subject | Views | Posted |
---|---|---|
1730 | May 20, 2020 11:39 AM | |
1922 | May 14, 2020 01:46 PM | |
12231 | Dec 20, 2019 07:35 AM | |
1104 | Oct 31, 2019 10:41 AM |
Activity Feed
- Posted InstallAnywhere StandAloneBuild with Docker on InstallAnywhere Knowledge Base. May 20, 2020 11:39 AM
- Posted FlexNet Connect and InstallShield integration is not supported any longer on InstallShield Knowledge Base. May 14, 2020 01:46 PM
- Posted InstallShield StandAlone Build with Docker on InstallShield Knowledge Base. Dec 20, 2019 07:35 AM
- Posted Digital Signing Patch for InstallAnywhere 2015 and above on InstallAnywhere Knowledge Base. Oct 31, 2019 10:41 AM