Как связаться с загрузчиком .NET 3.5 SP1 - PullRequest
2 голосов
/ 11 марта 2009

Я создаю специальный пакет установщика Windows для своего WPF-приложения .NET 3.5 с пакетом обновления 1 (SP1). Я хочу, чтобы он определил, какая версия (если таковая имеется) .NET Framework установлена ​​на клиентском компьютере, а затем автоматически загружает ее из Microsoft, если у нее ее нет.

Теперь я прочитал о загрузчике .NET и даже видел его в действии в установщике ClickOnce, который я сделал. Кажется, он делает то, что мне нужно.

Проблема в том, что я не хочу использовать ClickOnce. Я неравнодушен к NSIS. По сути, я ищу некоторую документацию о том, как взаимодействовать с загрузчиком или каким-либо образом интегрировать его, чтобы я мог использовать его в своем инсталляторе. Но я не нахожу много.

Любая помощь будет принята с благодарностью.

Спасибо, Стив

Ответы [ 2 ]

3 голосов
/ 11 марта 2009

Вам понадобится что-то , подобное этому , за исключением того, что когда я использовал это, оно правильно обнаруживает только до 2. Сейчас я дома, но когда я доберусь до работы, я опубликую свой хак этого кода, чтобы он работал до 3.5 SP1. Они немного изменили расположение номера версии.

Редактировать: Выложил мою версию на pastebin

0 голосов
/ 11 марта 2009

Я не думаю, что вы действительно можете общаться с загрузчиком. Насколько я понимаю, вы определяете предварительные условия, и он будет устанавливать их по мере необходимости. Я всегда использовал MSbuild GenerateBootstrapper , чтобы сделать это.

<ItemGroup>
    <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
        <!--This requires the either the Platform SDK or VS.Net to be installed-->
        <ProductName>Microsoft .NET Framework 2.0</ProductName>
    </BootstrapperFile>
</ItemGroup>

    <!--Create the bootstrapper-->
    <GenerateBootstrapper
         ApplicationName="MyApp"
         ApplicationFile="MyApp.msi"
         ApplicationUrl="$(ApplicationUrl)"
         BootstrapperItems="@(BootstrapperFile)"
         Culture="en"
         CopyComponents="True"

         ComponentsLocation="Relative"
         OutputPath="$(InstallationPath)\"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...