Как я делаю установщик WiX 3.5 с абсолютно автономной.NET 4,0 установщиками?

Продолжение предыдущего вопроса, который я задал здесь, я теперь, должно переместиться в vs2010.

Я получил новую еженедельную сборку WiX 3.5, версию 5-го июня 2010.

Вот соответствующие строки из моего установщика:

      
        
          .NET Framework 4.0
        
        
         Windows Installer 4.5
       
      

и


Однако это просто не работает. В vs2010 существуют восклицательные знаки рядом с Платформой.NET 4.0 и файлы Windows Installer 4.5, и страница свойств перечисляет их как 'Неизвестный BuildAction BootstrapperFile', и сборка просто, кажется, не устанавливает.NET 4.0 вообще. Соответствующее предупреждение:

C:\source\depot\project\vs2010\WiXSetup\WiXSetup.wixproj(68,5): warning MSB3155: Item 'Microsoft.Net.Framework.4.0' could not be located in 'C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\'.

7
задан Community 23 May 2017 в 12:02
поделиться

1 ответ

Короткий ответ - заменить

<ItemGroup>
    <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
       <ProductName>.NET Framework 3.5 SP1</ProductName>
    </BootstrapperFile>
    <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
       <ProductName>Windows Installer 3.1</ProductName>
    </BootstrapperFile>
</ItemGroup>

<Target Name="setup">
    <GenerateBootstrapper
        ApplicationFile="myproduct.msi"
        ApplicationName="myproduct"
        BootstrapperItems="@(BootstrapperFile)"
        Path="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"
        ComponentsLocation="Relative"
        OutputPath="$(cddir)"
        Culture="en"/>
</Target>

на

<ItemGroup>
    <BootstrapperFile Include=".NETFramework,Version=v4.0" >
       <ProductName>.NET Framework 4.0</ProductName>
    </BootstrapperFile>
    <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
       <ProductName>Windows Installer 3.1</ProductName>
    </BootstrapperFile>
</ItemGroup>

<Target Name="setup">
    <GenerateBootstrapper
        ApplicationFile="myproduct.msi"
        ApplicationName="myproduct"
        BootstrapperItems="@(BootstrapperFile)"
        Path="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"
        ComponentsLocation="Relative"
        OutputPath="$(cddir)"
        Culture="en"/>
</Target>

Я понял это, зайдя в каталог загрузчика SDK (C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper) на моем компьютере для Visual Studios 2010. Ниже приведен список проектов, которые могут быть прочитанным Wix и включенным для начальной загрузки. В каждой папке есть файл с названием Product.xml. Посмотрев на справку здесь для создания установщика .NET 3.5, я обнаружил, что атрибут ProductCode в теге Product идентифицирует имя элемента boostrap, поэтому, когда я изменил значение на указанное в C : \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages \ DotNetFX40 \ Product.xml это сработало.

12
ответ дан 6 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: