2014-01-14 7 views
0

Я пытаюсь включить .NET 4.5 с моим приложением. Я следовал инструкциям на VS2012 and Wix 3.6 - Installing .Net 4.5 with my application и ссылку к югу от этого http://wixtoolset.org/documentation/manual/v3/bundle/WiX .NET45 Bootstrapper

я сумел заставить его строить, но программа установки немедленно сообщает This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package.

Файл журнала показывает это:

> === Verbose logging started: 1/14/2014 8:32:10 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\system32\msiexec.exe 
> === MSI (c) (5C:D4) [08:32:10:909]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg 
> 
> MSI (c) (5C:D4) [08:32:10:909]: Font created. Charset: Req=0, Ret=0, 
> Font: Req=MS Shell Dlg, Ret=MS Shell Dlg 
> 
> MSI (c) (5C:B0) [08:32:10:920]: Resetting cached policy values MSI (c) 
> (5C:B0) [08:32:10:920]: Machine policy value 'Debug' is 0 MSI (c) 
> (5C:B0) [08:32:10:920]: ******* RunEngine: 
>   ******* Product: MyApp.msi 
>   ******* Action: 
>   ******* CommandLine: ********** MSI (c) (5C:B0) [08:32:10:923]: Note: 1: 2203 2: MyApp.msi 3: -2147286960 MSI 
> (c) (5C:B0) [08:32:10:933]: MainEngineThread is returning 1620 
> === Verbose logging stopped: 1/14/2014 8:32:10 === 

Ниже приведен скриншот, показывающий ссылки и код в комплекте. Я также вставил код ниже.

project preview

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 

    <?define RTMProductVersion="1.0.0" ?> 

    <?define Version="1.0.5" ?> 
    <?define UpgradeCode="{1EDFF15B-E7AE-4E1E-960B-6B80AC6FE305}"?> 
    <?define Manufacturer="MyCompany"?> 
    <?define PackageCode="{????????-????-????-????-????????????}"?> 

    <Bundle UpgradeCode="$(var.UpgradeCode)" Version="$(var.Version)"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <PackageGroupRef Id="NetFx45Redist" /> 
     <PackageGroupRef Id="MyApp" /> 
    </Chain> 
    </Bundle> 

    <Fragment> 
    <PackageGroup Id="MyApp"> 
     <MsiPackage 
     SourceFile="$(var.WiXInstaller.TargetPath)" /> 
    </PackageGroup> 
    </Fragment> 
</Wix> 

Любая идея о том, что я не хватает? Могу ли я использовать var.WiXInstaller.TargetPath здесь?

ответ

2

Глядя на Wix installer bundle produces corrupt "msi", предполагается, что выход пакета является exe, а не msi. Открытие свойств проекта и настройка типа вывода на .exe решили эту проблему. Хотя похоже, что bootstrapper действительно уродлив и обходит диалог установки msi для моего приложения. Sigh ...

+0

Вы можете написать собственный пользовательский интерфейс начальной загрузки, используя C, C++, WinForms, WPF и т. Д. (WiX делает это, Visual Studio делает это). И, см. [MsiPackage/@ DisplayInternalUI] (http://wixtoolset.org/documentation/manual/v3/xsd/wix/msipackage.html). –

Смежные вопросы