Создание инсталляторов в .net - PullRequest
3 голосов
/ 09 марта 2010

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

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

На самом деле у установщика будет две опции:

  1. Просто распакуйте файлы в указанное место
  2. Вставить файлы (файлы HTML) на сайт общего ресурса в интрасети.

У кого-нибудь есть идеи?

Ответы [ 4 ]

1 голос
/ 28 сентября 2010

Встроенные проекты по настройке и развертыванию - мой общий опыт, поэтому вместо этого я использую Расширенный установщик . Это дешево и легко в использовании. Я думаю, что у них также есть бесплатная версия.

1 голос
/ 09 марта 2010

Вот хорошая статья по установке и развертыванию: http://aspalliance.com/622_StepbyStep_Process_of_Creating_a_Setup_and_Deployment_Project.all

1 голос
/ 09 марта 2010

Рассмотрим самораспаковывающийся ZIP-файл.

Вы можете создать его с помощью DotNetZip . Требуется .NET на целевой машине. Распаковывает файлы в указанное пользователем место, а затем при необходимости запускает указанную вами программу. Эта программа может быть одним из распакованных файлов или может быть чем-то другим.

Чтобы создать самораспаковывающийся архив с помощью DotNetZip, это код:

// create the SFX
using (ZipFile zip1 = new ZipFile())
{
    zip1.AddFile(filename1, "");       // extract to toplevel
    zip1.AddFile(filename2, "subdir"); // extract to subdir
    zip1.AddFile(filename3, "subdir");
    zip1.Comment = "This will be embedded into a self-extracting exe";
    zip1.AddEntry("Readme.txt", "This is Update XXX of product YYY");
    var sfxOptions = new SelfExtractorSaveOptions {
        Flavor = SelfExtractorFlavor.WinFormsApplication,
        Quiet = false,  // false == show a UI
        DefaultExtractDirectory = UnpackDirectory
    }
    zip1.SaveSelfExtractor(SfxFileToCreate, sfxOptions);
}

Пользовательский интерфейс сгенерированного SFX выглядит следующим образом:

alt text

SFX не зависит от MSI, поэтому нет опции удаления. Это может или не может быть хорошей вещью.

0 голосов
/ 28 сентября 2010

Я создал приложение для Windows с несколькими формами, выполняя все необходимые действия. Это приложение для Windows вело себя как программа установки.

...