VS 2010 Bootstrapper package

499 views Asked by At

I'm trying to create bootstrapper package for Visual Studio 2010. It has appeared in prerequisites window. Here is my product.xml

<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="FaroLS" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<PackageFiles CopyAllPackageFiles="true">
<PackageFile Name="faro ls 5.2.0.35213 x64 setup.exe" />
<PackageFile Name="example.faro.ls.exe.manifest" />
<PackageFile Name="faro.ls_5.2.0.35213.msi" />
<PackageFile Name="farolsdemoscans.zip" />
<PackageFile Name="faroopendemoapp.zip" />
<PackageFile Name="farosdkdemoapp.zip" />
<PackageFile Name="unins000.dat" />
<PackageFile Name="unins000.exe" />
<PackageFile Name="vcredist_x64.exe" />
<PackageFile Name="vcredist_x64_90.exe" />
</PackageFiles>
<InstallChecks>
   <RegistryCheck Property="IsInstalled" Key="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FARO LS_is1\" Value="Inno Setup: Setup Version"/>
</InstallChecks>
<Commands Reboot="Defer">
  <Command PackageFile="faro ls 5.2.0.35213 x64 setup.exe">
   <InstallConditions>
    <BypassIf Property="IsInstalled" Compare="VersionGreaterThanOrEqualTo" Value="5.1.6" />
   </InstallConditions>
   <ExitCodes>
    <DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
   </ExitCodes>
 </Command>
</Commands>
</Product>

File example.faro.ls.exe.manifest

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
 <dependency>
 <dependentAssembly>
   <assemblyIdentity type='win32' name='FARO.LS' version='1.1.502.0' processorArchitecture='amd64' publicKeyToken="1d23f5635ba800ab"/>
   </dependentAssembly>
 </dependency>
</assembly>

To determine whether i have already installed this product i'm checking registry entry

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FARO LS_is1\Inno Setup: Setup Version

And now the bad things. Registry check does not work. Every time i launch product setup it asks me to install additional component, even if it is already installed. And when installation starts i get error:

Setup has detected that the file 'C:\Users\user\AppData\Local\Temp\VSD1F0C.tmp\FaroLS\faro ls 5.2.0.35213 x64 setup.exe' 
has either changed since it was initially published or may be corrupt.

See the setup log file located at 
'C:\Users\user\AppData\Local\Temp\VSD1F0C.tmp\install.log' for more information.

I found some similar topics on stackoverflow, where .net 4.5 caused this problem. But i don't have one installed. File faro ls 5.2.0.35213 x64 setup.exe does not have digital signature. Can it cause errors? Are there any ways to make it work?

0

There are 0 answers