Bootstrapper (setup.exe) says ".NET 3.5 not found", but running .msi directly installs the application without problems

Our installer creates a boot file (setup.exe) and the MSI file is a fairly common scenario.

One of the production machines reports a strange problem during installation:

  • If the user starts bootstrapper (setup.exe), he reports that .NET 3.5 is not installed . This happens with an account in the administrators group. Regardless of whether they run it as an administrator or not, the same behavior.

  • the application is installed perfectly when application.msior OurInstallLauncher.exe(see below for an explanation) it starts directly, regardless of whether it is run as an administrator.

  • We checked that .NET is installed on the computer (both 64-bit and 32-bit versions "= under both C:\Windows\Microsoft.NET\Framework64and C:\Windows\Microsoft.NET\Frameworkthere is a folder with a name v3.5.

This happens on 64-bit Windows 7. I cannot play it on my version of the 64-bit version of Windows 7. In Windows XP and Vista, it worked for a long time without any problems.

Part of our build script that announces the GenerateBootStrapper task (nothing special):

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

  <GenerateBootstrapper
    ApplicationFile=".\Files\OurInstallLauncher.exe"        
    ApplicationName="App name"
    Culture="en"
    ComponentsLocation ="HomeSite"
    CopyComponents="True"
    Validate="True"
    BootstrapperItems="@(BootstrapperFile)"
    OutputPath="$(OutSubDir)"
    Path="$(SdkBootstrapperPath)" />

Note. OurInstallLauncher.exeis a language selector that applies the conversion to msi based on user selection. This does not apply to the question at all, because the installer never gets to running this exe! A.

EDIT: , .NET 3.5 setup.exe .NET 3.5. , .NET 3.5 , .NET 3.5 MSI . .NET 3.5, .

- ?

+1
2

, Bootstrapper Windows 7.

:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35\en\package.xml     , Windows 7 :

  <RegistryCheck Property="DotNet35InstallSuccess" 
Key="HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\1033" Value="Install" />

, .NET 3.5 ( Windows 7).

.NET,      C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35\en\package.xml     :

\1033 :

  <RegistryCheck Property="DotNet35InstallSuccess" 
Key="HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5" Value="Install" />
+3

, MSI , , , bootstrapper .NET 3.5. MSI .NET ( , .NET, .NET GAC).

.NET , . , .NET, - .

0

Source: https://habr.com/ru/post/1740275/


All Articles