Ich möchte einen Bootstrapper für eine Anwendung C# mit Visualstrudio 2015 erstellen. Ich möchte eine Voraussetzung für SharedManagementObject (von Microsoft, heruntergeladen that direct link). Ich folgte den Anweisungen auf the microsoft website.Verwalten Voraussetzungen Version in Bootstrapper
mein product.xml Es gibt:
<?xml version="1.0" encoding="utf-8" ?>
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Custom.Bootstrapper.SharedManagementObjects2014x86">
<RelatedProducts>
<DependsOnProduct Code="Custom.Bootstrapper.SQLSysClrTypes2014x86" />
</RelatedProducts>
<PackageFiles>
<PackageFile Name="SharedManagementObjects2014x86.msi"/>
</PackageFiles>
<InstallChecks>
<MsiProductCheck Product="IsMsiInstalled"
Property="{4E6202DE-B996-4736-A64B-09EE2A8469E6}"/>
</InstallChecks>
<Commands>
<Command PackageFile="SharedManagementObjects2014x86.msi" Arguments="">
<InstallConditions>
<BypassIf Property="IsMsiInstalled"
Compare="ValueGreaterThan" Value="0"/>
<FailIf Property="AdminUser"
Compare="ValueNotEqualTo" Value="True"
String="NotAnAdmin"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="GeneralFailure"/>
</ExitCodes>
</Command>
</Commands>
</Product>
Auf Setup richtig ein Dialogfeld fragen SharedManagementObjects2014x86.msi zu installieren, aber ich habe 2 Probleme:
- Auf CPU nicht mit x86-kompatibel, Die Installation wird ausgeführt, schlägt jedoch fehl. Gibt es eine Anweisung, die CPU zu überprüfen und nur auf x86 zu installieren?
- Auf x86-CPU ist die Installation in Ordnung. Aber wenn ich Setup.exe erneut ausführen, wird SharedManagementObjects2014x86.msi erneut installiert. Warum funktioniert
<BypassIf Property="IsMsiInstalled" Compare="ValueGreaterThan" Value="0"/>
nicht?
Behälter Sie
löste ich das zweite Problem durch 'ersetzt ' 'von '. Aber ich kann immer noch nicht überprüfen, ob die CPU mit x86 kompatibel ist. –