.NET Bootstrap без настройки - PullRequest
       16

.NET Bootstrap без настройки

3 голосов
/ 04 февраля 2009

У меня есть приложение .NET WinForms, которое нужно запускать с компакт-диска. Что мне нужно выяснить, так это то, что если пользователь установил нужную версию .NET или установил ее, если необходимо, запустите приложение после установки. Любая информация, которую я нашел о начальной загрузке, включает в себя настройку и установку приложения. Как я могу это сделать, если я ничего не установил? Я бы уточнил любую информацию ..

Ответы [ 4 ]

4 голосов
/ 12 апреля 2012

Я также думал, что вы не сможете сделать это, не выполнив установщик в течение длительного времени, но это не так. Существует действие msbuild, которое называется "GenerateBootstrapper" . Если вы находитесь в Visual Studio:

  1. Щелкните правой кнопкой мыши свой проект
  2. Выгрузить проект
  3. Редактировать YourProjectName.csproj "

Затем вы можете добавить действие GenerateBootstrapper различными способами (в зависимости от того, что вы хотите установить). MSDN приводит пример для .NET 2.0:

<ItemGroup>
    <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
        <ProductName>Microsoft .NET Framework 2.0</ProductName>
    </BootstrapperFile>
</ItemGroup>

<Target Name="BuildBootstrapper">
    <GenerateBootstrapper
        ApplicationFile="WindowsApplication1.application"
        ApplicationName="WindowsApplication1"
        ApplicationUrl="http://mycomputer"
        BootstrapperItems="@(BootstrapperFile)"
        OutputPath="C:\output" />
</Target>

Я не пробовал этот пример, но я попробовал свой собственный и могу вам сказать, что для установки .NET 4 Client Profile (который является последней стабильной версией .NET на сегодняшний день) на XP-машинах вам необходимо сначала установить Windows Imaging Component . Вот почему стандартное условие .NET4 Client Profile, включенное в VS2010, не работает в XP. Итак, я написал мой собственный загрузчик . Вы можете скачать мой пример решения VS2010, которое создает загрузчик для консольного приложения. Но для этого нужно установить (просто скопировать) мой загрузчик. Итак, вот шаги:

  1. Загрузите мой загрузчик Windows Imaging Component
  2. Распакуйте его в% PROGRAMFILES% \ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages
  3. Загрузите мое BootstrapperTest решение
  4. Построить решение. Вы увидите, что он создал BootstrapperTest.exe и setup.exe в каталоге \ bin \ Debug. Setup.exe является загрузчиком, вы можете запустить его без установленного .NET - он получит его для вас, а затем запустит BootstrapperTest.exe.
  5. Если вы хотите распространять его как один файл, я рекомендую использовать ChilkAt Zip2Secure или его аналоги. Zip2Secure очень прост в использовании, и я надеюсь, что у вас не возникнет проблем с ним.
3 голосов
/ 04 февраля 2009

Установщик MSI, созданный с помощью Visual Studio, может включать в себя собственный файл setup.exe, который проверяет зависимость фреймворка и сначала запускает установщик, если это необходимо. Вы можете даже включить распространяемый на свой компакт-диск. Но для этого нужно установить программу.

В противном случае вы должны создать свой собственный инструмент для работы с собственным кодом.

2 голосов
/ 04 февраля 2009

Самый простой способ - проверить записи реестра, перечисленные в этом вопросе:

.Net Framework обнаружение

Файл сценария может быть самым простым способом проверки с компакт-диска:

Windows Script Host - метод RegRead

2 голосов
/ 04 февраля 2009

Вы можете написать небольшой загрузчик собственного кода, который проверяет среду выполнения .NET, запускает установку .NET, если необходимо, и затем запускает приложение .NET.

...