InstallShield Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Knowledge Base Categories
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. Where: CC-SERVER - Concurrent Server CC-PORT - Concurrent Server Port 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"   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 full article
To help our customers expedite their license activation, we've set up a Flexera Support Chat feature in the case management portal. To initiate a chat and get assistance with your license activation: Sign into the community Navigate to Get Support -> Open New Case  (Don't see this option? Read Linking your Community Account to your Organization ) Select the InstallShield product from the Product drop-down Click the Chat with an Expert option when it appears  NOTE: This feature is only for license activation assistance. If you require product assistance, please open a support case.
View full article
Summary Error Failed to load CLR – Error will occur when installing the setup with PowerShell custom Action or any .net dll Synopsis This information applies to the following InstallShield project types: Basic MSI InstallScript MSI When the installer includes a .NET Installer Class, with any custom action the error will occur InstallShield: Failed to load CLR 궰耂 - error 0x80131700 Cause If the Specific machine doesn’t have the required .net framework is not available   The .NET framework is not properly installed on your system Workaround  If the underlying cause for the error code 0x80131700 is the improper installation of .NET framework on your PC, then the best and easy way to resolve this error is to reinstall it. By default, the built in version of .NET framework in Windows 10 is 3.5 to reinstall this again on your system follow the steps given below: Go to Start menu and type: features in the search box Now Choose the option ‘Turn Windows Features on or off’ and then press Enter After this, look for Microsoft .NET framework 3.5.1 and uncheck the box Once you uncheck it, restart your computer Repeat the step 1 and 2 Now check the box before .NET framework 3.5 Restart your system Now try using the Troubleshooting Wizard. Also you can the other option, In some cases, the below option used to resolve the issue.  Please add the property “IS_CLR_VERSION” in property manager and specify the .net version in the value field EX: In the Value column, enter a semicolon-delimited list of versions. Example: 1.1.4322;1.0.3705 or 2.0.50727 or 4.0.30319 References: https://answers.microsoft.com/en-us/windows/forum/all/error-installing-net-framework-20-error-0x80131700/5a4e32d9-0e71-4566-a487-9a1758fd4ff7?messageId=a9508c2a-00a8-4295-be85-3225b7a1dccd
View full article
Summary InstallShield digital signing feature uses a timestamp server from Symantec which is being decommissioned (more details here) and migrated to Digicert. Signing with new Digicert URL causes a breakage in Digital Signing Symptoms 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 InstallShield calls the signing APIs Affected InstallShield Versions InstallShield 2015 SP2 InstallShield 2016 SP2 InstallShield 2018 R2 InstallShield 2019 R2 All minor releases of the above releases included Resolution The issue is resolved in a hotfix that can be downloaded from this link. Please note that the hotfix is applicable on the latest service packs of above affected versions. After applying the hotfix, please update Settings.xml file in <InstallShield_InstallPath>/Support/0409 with new URLs Before: <DigitalSignature Timestamp="http://timestamp.verisign.com/scripts/timstamp.dll"/><DigitalSignature TimestampRFC3161="http://sha256timestamp.ws.symantec.com/sha256/timestamp"/> After: <DigitalSignature Timestamp="http://timestamp.digicert.com"/><DigitalSignature TimestampRFC3161="http://timestamp.digicert.com"/> Note: For Japanese, Settings.xml can be found at “<InstallShield_InstallPath>/Support/0411” Additional Information If there are any additional issues, please contact our  Technical Support team
View full article
Summary ISEXP: fatal error -7219: Failed to verify digital signature of <> Error -2147467259: Automation error Symptoms This build error usually occurs due to expired, corrupt or missing root certificates on your machine. ISDEV: fatal error -7210: Failed to verify digital signature ISDEV : fatal error -7219: Failed to verify digital signature of C:\Program Files\InstallShield\VERSION\System\IsUiServices.dll Cause The Build Machine Does Not Have Latest currently used root Certificates This is related to the operating system and is generally seen if building on an offline machine or a machine missing the latest root certificate update. Resolution Ensure your Windows Trusted root certificates are up to date: https://support.microsoft.com/en-gb/kb/293781 If your certificate has expired or become corrupted, verify if this is the case by right clicking on C:\Program Files (x86)\InstallShield\VERSION\System\ISUIServices.dll to view the properties - if there is a Warning triangle this needs to be updated replaced. The current certificate is VeriSign Class 3 Public Primary Certification Authority -G5 The certificate is no longer publicly downloadable from VeriSign Website, this particular site no longer exists, since they were aquired by Symantec. Workaround In order to obtain an updated certificate for this Goto https://www.websecurity.digicert.com/theme/roots Locate Root 3 Name: VeriSign Class 3 Public PCA - Generation 5 (G5) Serial Number: 18 da d1 9e 26 7d e8 bb 4a 21 58 cd cc 6b 3b 4a Operational Period: Tue, November 08, 2006 to Wed, July 16, 2036 Certificate SHA1 Fingerprint: 4e b6 d5 78 49 9b 1c cf 5f 58 1e ad 56 be 3d 9b 67 44 a5 e5 Change the extension to cer, double click on the file to open the certificate, and click the install button. You should install this certificate to the Trusted Root Certificate Authorities Store. Symantec SHA256 TimeStamping Signer Certificate - G1 Download and install the certificate at the below link: https://symantec.tbs-certificats.com/vsign-universal-root.cer Double click on the file to open the certificate and click the install button. You should install this certificate to the Trusted Root Certificate Authorities Store. Additional Information Symantec - Licensing and Use of Root Certificates https://www.symantec.com/page.jsp?id=roots See also: Windows 8 and Windows Server 2012: How to Open the Certificates Console http://social.technet.microsoft.com/wiki/contents/articles/11497.how-to-open-the-certificates-console-in-windows-8-and-windows-server-2012.aspx Related KB Articles Error -7210</>
View full article
Advanced UI and Suite/Advanced UI installations are bootstrap applications that package together installations and  InstallShield  prerequisites as a single installation while providing a unified, fully customizable user interface. They use a setup launcher ( Setup.exe ) to conditionally launch packages on target systems as needed. You can add msi/ism/pre-requisite as package to your main Suite application. Say the added msi has minor upgrade to get installed. Wondering why it is not working by default, here is the solution: Add the required msi package to your package with the required settings On clicking Package, you would be able to see a list of package settings There will be an option called Minor Upgrade Handling  which will be set to None by default You can set the same to Automatic if you want minor updates to happen if configured It can also be set to Ask the User if you want user to select this handling.
View full article
Symptoms: Vulnerabilities CVE-2016-9843, CVE-2016-9842, CVE-2016-9841, CVE-2016-9840 are generically flagged against version 1.2.8 and less of zlib. Although there is no specific tagging of zlib version 1.2.3, InstallShield has proactively upgraded the version of zlib used from 1.2.3 to 1.2.11 to avoid generic vulnerability flagging. Diagnosis: A few binary scans show vulnerabilities associated with a different version of zlib (Ex 1.2.2 or 1.2.8) against compressed bootstrappers(setup.exe) built out of InstallShield 2018 R2. The results are confusing since the vulnerabilities are not for version 1.2.3 and yet appear in security scans causing customers to be concerned. Solution: This issue is being tracked under issue # IOJ-1900586 . Engineering has released a hotfix that avoids generic vulnerability flagging by upgrading the version of Zlib to 1.2.11 which has no known vulnerabilities at the time of writing this article. Additional Information: Below is the download link for the zlib Patch of InstallShield 2018 R2: https://flexerasoftware.flexnetoperations.com/control/inst/AnonymousDownload?dkey=14557347
View full article
Summary This article provides information on configuring a three server redundancy using lmadmin. Synopsis This article provides information on configuring a three server redundancy using lmadmin. Discussion Here are the Steps to Configure a Triad License Server:   Install the FlexNet Licensing Server from the Product and License Center: https://flexerasoftware.subscribenet.com Open the command prompt as Administrator and cd to the directory that contains lmadmin.exe ( cd C:\Program Files (x86)\Flexera Software\FlexNet\Licensing Server). If you installed the license server as a service this file will be named lmadmin_svc.exe Force Import the license file into lmadmin (l madmin.exe -force -import <PATH TO LICENSE FILE>). The License file is generated in the Product and License Center (see related KB Q214185) Repeat steps 1-3 for the other 2 license servers machines Start lmadmin on all 3 machines in the same order specified in the license file: primary, secondary and tertiary The system configuration would show the status of the license servers connecting to the other 2 servers as shown in the below screenshot. If lmadmin is unable to establish a quorum in fifteen minutes, stop the servers on all 3 machines and restart the servers in the correct order.     Related KB Articles Required Fields For A Concurrent Triad License Generated Through The Product And Licensing Center Create a Login ID for Accessing the Product and License Center
View full article
Summary InstallShield fails to create Patch/Upgrade from a compressed setup.exe built in InstallShield 2019. Symptoms Building a Patch Installer from a compressed setup.exe. Building a Major/Minor Upgrade from a compressed setup.exe. Building a Quick Patch Installer from a compressed setup.exe. Cause InstallShield fails to create Patch/Upgrade from a compressed setup.exe built in InstallShield 2019. Workaround When you try to create a Patch Installer or Upgrades from a compressed setup.exe, you can manually extract MSI from setup.exe instead of allowing InstallShield extract the content. Now use the extracted MSI in your Patch Installer or Upgrades instead of the compressed setup.exe. Use the following command to extract MSI from a compressed setup.exe in the current directory. setup.exe /s /x /b"." /v"/qn"
View full article
Summary Default Ports Used for License Server Manager (LMAdmin) Synopsis This article discusses the default TCP/IP ports that are used by client applications to connect to a license server manager (lmadmin).   Discussion For a client application (InstallShield) to connect to a license server that's behind a firewall, two ports need to be opened. One for the license server manager and one for the vendor daemon.   For the license server manager port, i f no TCP/IP port number is specified, one of the default port in the range of 27000 - 27009 is used. The license server manager port can be specified in lmadmin under: Server Configuration tab -> License Server Configuration -> License Server Manager Port       For the vendor daemon port, if no TCP/IP port number is specified, the port is chosen by the operating system at run-time. There is no set range. The vendor daemon port can be specified in lmadmin under: Vendor Daemon Configuration tab -> mvsn -> General Configuration -> Vendor Daemon Port     Sites with Internet firewalls might need to specify a fixed TCP/IP port number for the license server mananger and the vendor daemon. From InstallShield 2013 onwards, the default vendor daemon port is 8090.   Additional Information The port number specified in the web browser when launching lmadmin (http://MachineName:Port) is the HTTP port number that is used to host the Web server. This port number gets configured when the FlexNet Licensing Server software gets installed and by default it's set to 8080.
View full article
Providing the necessary information to allow a Support engineer to begin troubleshooting your issue is one of the best ways to avoid delays.  This article discusses what type of information to include and how to gather it when submitting an InstallShield case to Flexera Technical Support.
View full article
Summary There are many scenarios where we might need to handle navigation controls like button, click or visibility based on checkbox state in Suite wizard pages. In this article, let us see two scenarios in Suite wizard pages in detail: Controlling visibility of navigation control using checkbox state Handling navigation control click based on checkbox state Discussion Controlling Visibility of Navigation Control using Checkbox state Let us take a real-time scenario: Install Welcome Suite wizard which has the License Terms and Conditions Agree checkbox, based on the selection of the checkbox, the Next button should be enabled/disabled.   How can we achieve this? 1. Create a new property say “IsLicenseAgreed” in the property manager and assign the value to false by default 2. Add a new checkbox in the Install Welcome wizard-page and fill the Property field with: ISLicenseAgreed==true   3. Set the Next button’s Enabled field’s condition property as IsLicenseAgreed Is Equal To True   4. Build the project by adding the required packages. When you launch, the results will be displayed. Handling Navigation Control Click based on Checkbox state Another useful scenario we package using InstallShield-Suite project would be launching the main application on a successful installation of the software. Just like the previous scenario, it can be achieved in the similar way. However, we might need to set an additional Click Property of Navigation Control.   How can we achieve this? 1. Create a new property “IsLaunchProduct” in property manager and assign the value to True by default 2. Add a new checkbox in Install Success wizard and fill the property field with: ISLicenseAgreed==true 3. Fill the Click property of the Finish button with an open action: Add an open action, mention the main application to be launched when the launch checkbox is checked Fill the condition property as IsLaunchProduct Is Equal to true which is the checked state of the Launch checkbox.   4. Build the project by adding the required packages. When you launch, the results will be displayed.
View full article
Summary It is always a best practice for an installer to check for a dependent software, so that the installer can alert the end-user to install prior to the main installation. InstallShield has Project Assistant to guide you on the same. It is under the section - “Installation Requirement”. Project Assistant’s installation requirement has two parts: One for the operating system Second one for the software requirement This article talks about the software requirement. By default, InstallShield has certain number of software entries in the section, say you want to add a new one. Discussion Let us see how to add in the detailed section below: Adding an entry to this section is handled by a configuration file(.ini) which you can view under <InstallShield Installed Path>\<InstallShield Version>\Searches The Configuration file details are given below: 1. Create a new configuration file named Eg: SQLSERVEREXPRESS2017.ini. 2. Take any existing configuration file as a template from the Searches folder. Configuration file contains the following sections: [Title0409] Name-Display string you want to name, the same will be displayed in Installation requirement section Type-Type of check you would like to do, most commonly it would be registry Description-Describes in detail about what the specific requirement does 3. On supporting German & Japanese, you can add [Tile0407],[Title0411] 4. [AppSearch]- The AppSearch table contains properties needed to search for a file which has a particular file signature. The AppSearch table can also be used to set a property to the existing value of a registry or .ini file entry. Signature-Name of the signature to use for an application search Property-Property to be set if the application is found 5. [RegLocator]-The RegLocator table holds the information needed to search for a file or directory using the registry, or to search for a particular registry entry itself. This table has the following columns. 6. [Reg Entry]- Signature_=Signature name of the file to be used for search Root-The predefined root key for the registry value. Constant HexaDecimal Decimal RootKey msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOT msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USER Key-The key for the registry value. Name-The registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved. Type-A value that determines if the registry value is a file name, a directory location, or raw registry value. Constant Hexadecimal Decimal Description msidbLocatorTypeDirectory 0x000 0 Key path is a directory. msidbLocatorTypeFileName 0x001 1 Key path is a file name. msidbLocatorTypeRawValue 0x002 2 Key path is a registry value. msidbLocatorType64bit 0x010 16 Set this bit to have the installer search the 64-bit portion of the registry. Do not set this bit to have the installer search the 32-bit portion of the registry.   7. [ExpressCondition0409]-Condition to validate the existence of file in the machine Name=Display name of the condition to be added Condition=Condition to validate based the property and value Message=Message to be displayed on failing to satisfy the condition 8. On supporting German, Japanese you can add [ExpressCondition0407],[ExpressCondition0411] Let us take an example of SQLServerExpress2017 as an installation requirement to be added to the  installer: [Title0409] Name=SQL Server 2017 Express Type=Registry Desc=Look for the existence of SQL Server 2017 Express on a system and sets the version of SQL Server Express 2017 as the value of the property SQLEXP2017FOUND. [AppSearch] Signature_=NewRegSignature Property=SQLEXP2017FOUND [RegLocator] Records=Reg1 [Reg1] Signature_=NewRegSignature Root=2(Here value stands for msidbRegistryRootLocalMachine) Key=SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion Name=CurrentVersion Type=2(Here the value stands for msidbLocatorTypeRawValue) [ExpressCondition0409] Name=SQL Server 2017 Express is Installed Condition=SQLEXP2017FOUND>="14.0.1000.169"(These conditions you can retrieve after installation of the dependent software in registry) Message=SQL Server 2017 Express needs to be installed for this installation to continue.
View full article
Summary Error 9513 occurs while validating the MSIX/Appx manifest xml. Symptoms Building a release is when validating schema in [File Name ([Line number)]. Cause This build error may be caused while validating the MSIX/Appx manifest xml against the schema files. Workaround To workaround the issue at this point, Refer   https://docs.microsoft.com/en-us/uwp/schemas/   to compose the manifest entries, like the mandatory and supported values. You are required to correct the values in the corresponding views in the MSIX project. For example, recheck the values specified for the added declaration and check whether the values are as per the schema or not.
View full article
Summary  Error 9570 occurs while setting the Background Tasks declaration. Symptoms Building a release requires to select at least one supported task type for the Background Tasks declaration. Cause This build error may be caused because the Background Tasks declaration requires to select at least one supported task. Workaround To workaround the issue at this point, Add a Supported Task in the Background Tasks declaration from the Declaration view.
View full article
Summary Error 9571 occurs while setting the Wide Tile Image for the Visual Asset. Symptoms Building a release requires to set the Wide Tile Image for the Visual Asset: ‘%1’. Cause This build error may be caused when the Wide Tile Image is missing for the Visual Asset. Workaround To workaround the issue at this point, if the Large Tile Image is specified in the Visual Asset in order to install the package, Specify the Wide Tile Image
View full article
Summary Error 9568 occurs while setting the Web Account Provider declaration. Symptoms Building a release is managed URL ‘%1’ specified is a duplicate of the base URL specified for the Web Account Provider Declaration. Cause This build error may be caused by one of the Managed URL which is a duplicate with the base URL specified for the Web Account Provider Declaration. Workaround To workaround the issue at this point, Specify a unique Managed URL in the Web Account Provider Declaration.
View full article
Summary Error 9569 occurs while setting the Shared Target declaration. Symptoms Building a release requires at least one supported File type or Data format. Cause This build error may be caused by Share Target Declaration which requires to specify at least one supported File type or Data. Workaround To workaround the issue at this point, Select 'Supports any File type' or explicitly to add one or more File types or Data formats in the Share Target Declaration.
View full article
Summary Error 9567 occurs while setting the Appointments Provider declaration. Symptoms Building a release is when the Start page ‘%1’ must not be specified if the 'Entry point', 'Executable' or 'Runtime type' is specified in Appointments Provider Declaration. Cause This build error may be caused by the 'Entry point', 'Executable' or 'Runtime type' cannot be specified if the ‘Start page’ is specified in the Appointments Provider Declaration Launch Action. Workaround To workaround the issue at this point, Specify either ‘Entry point’ or ‘Start page’ entries in the Launch Action.
View full article
Summary Error 9564 occurs when the module [COM Module Name] contains the COM data. Symptoms Building a release is when this COM server will not be activatable outside the Appx package. Cause This build error may be caused by a specified COM server that will not be activatable outside of this Appx package as all its registry entries and extension points are in its private hive and not exposed publicly to the system. Workaround To workaround the issue at this point, if your application uses COM only for its own personal use, then you can ignore this warning and rely on COM entries in the application’s private hive (Registry.dat) to support your app. All binaries in the same appx\msix package have access to that registry, but any other apps on the system cannot see into your app’s private hive.
View full article