TFS 2012 Build and InstallShield 2018 Lite
We're using Visual Studio 2017 with InstallShield 2018 Lite to build an msi. We're using the Locally Copied Items feature of IS which will copy any referenced DLLs to the msi output. When we build the solution in the Visual Studio IDE, the msi is created and will install successfully. However, when we build the solution using TFS Build, the msi is created but fails to install with the following error:
Error: 2715. The specified File key ('ourprojectname.locally_1') not found in the File table.
The error message seems to relate to the locally copied items feature of InstallShield 2018.
We're using TFS 2012 and a XAML template to do the build. I have updated the references to MSBuild to point to the version of MSBuild that was installed with Visual Studio 2017. I have also added the following MSBuildArguments to the build template /tv:15.0 /p:VisualStudioVersion=15.0
Any help on this would be greatly appreciated. Thanks.
In order to analyze the missing file, check the MSBuild log file and see any error or warning messages for installshield setup build. As you have mentioned, you are able to build and install using the IDE, then see which file is missing in the out put folder during the TFS build.
InstallShield setup capture all these output files using dynamic linking, so un-comment the "Verify output groups by un-commenting the Message Task" in InstallShield.targets file as mentioned in the below thread:
- I have the same problem.
- Using VS2019 and installShield 2019 and have the following error on created installation kit: "Error 2715. The specified File key ('***locall') not found in the File table."
- When I'm using the VS build, all is built good and installation kit is working fine. But using MsBuild command line creates defective installation kit with the error 2715 above.
- Attached all the needed files... please advise
Firstly apologies for delay,
For debugging, You can edit the msbuild created msi file using installshield and then go to direct editor file table and check this specific file(icenter.server.webapi.locall) is available or not.
Try comparing Vs build and msbuild created msi files using installshield's msi diff tool and check the file differences.
and let us know the comparison results.