Как сделать установщик для моего приложения C#?

Я создал приложение (C#, Windows Forms) на  Visual Studio 2008, и теперь я хочу сделать установщик этого приложения. Как это может быть сделано?

Я хочу свой установщик к

  • Скопируйте все файлы, что мое приложение использует для пользователя выбранный путь (скопируйте файлы в выбранный, некоторых для приложения серверной стороны и некоторых для стороны клиента).
  • Также установите.NET 3.5
  • Проверьте на  SQL Server или SQL Server Express Edition

Как я могу сделать это?

58
задан Peter Mortensen 22 February 2013 в 19:14
поделиться

3 ответа

Необходимо найти самую длинную общую подстроку .

Если последовательности не очень длинные, я рекомендую использовать подход Тима. В противном случае это реализация Javascript алгоритма Longest common substring с динамическим программированием. Время выполнения равно O (mn), где m и n - длины 2 последовательностей соответственно.

Пример использования:

var first = "Here is a quick guide for the next time you reach for your favorite oil and some other topics";
var second = "favorite oil and some other topics can be based on something blah blah";

console.log(first.intersection(second)); // ["favorite oil and some other topic"]

Это реализация алгоритма. Он возвращает массив наиболее длинных общих подстрок. Расширен собственный класс String, поэтому метод пересечения доступен для всех последовательностей.

String.prototype.intersection = function(anotherString) {
    var grid = createGrid(this.length, anotherString.length);
    var longestSoFar = 0;
    var matches = [];

    for(var i = 0; i < this.length; i++) {
        for(var j = 0; j < anotherString.length; j++) {
            if(this.charAt(i) == anotherString.charAt(j)) {
                if(i == 0 || j == 0) {
                    grid[i][j] = 1;
                }
                else {
                    grid[i][j] = grid[i-1][j-1] + 1;
                }
                if(grid[i][j] > longestSoFar) {
                    longestSoFar = grid[i][j];
                    matches = [];
                }
                if(grid[i][j] == longestSoFar) {
                    var match = this.substring(i - longestSoFar + 1, i);
                    matches.push(match);
                }
            }
        }
    }
    return matches;
}

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

// create a 2d array
function createGrid(rows, columns) {
    var grid = new Array(rows);
    for(var i = 0; i < rows; i++) {
        grid[i] = new Array(columns);
        for(var j = 0; j < columns; j++) {
            grid[i][j] = 0;
        }
    }
    return grid;
}
-121--4268349-

Если необходимо просто извлечь текстовое содержимое из pdf-файла, pdftohtml в sourceforge является эффективным. он не подходит для работы с изображениями.

-121--2064598-
  1. Добавьте в решение новый проект установки.
  2. Добавьте конечные объекты из всех проектов, которые требуется установить.
  3. Настройте предварительные требования и выберите параметр «Проверить наличие .NET 3.5 и SQL Express». Выберите расположение, в котором должны быть установлены отсутствующие компоненты.
  4. Настройте параметры настройки программы установки - название компании, версия, авторские права и т.д.
  5. Создайте и перейдите!
63
ответ дан 24 November 2019 в 18:59
поделиться

Вообще говоря, рекомендуется использовать установку на основе MSI в Windows. Таким образом, если вы готовы потратить немало времени, вам подойдет WiX .

Если вам нужно что-то более простое, воспользуйтесь InnoSetup .

16
ответ дан 24 November 2019 в 18:59
поделиться

Существует несколько методов, два из которых следующие. Предоставьте собственный установщик или проект установки.

Вот как создать собственный установщик

[RunInstaller(true)]
public class MyInstaller : Installer
{
    public HelloInstaller()
        : base()
    {
    }

    public override void Commit(IDictionary mySavedState)
    {
        base.Commit(mySavedState);
        System.IO.File.CreateText("Commit.txt");
    }

    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
        System.IO.File.CreateText("Install.txt");
    }

    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);
        File.Delete("Commit.txt");
        File.Delete("Install.txt");
    }

    public override void Rollback(IDictionary savedState)
    {
        base.Rollback(savedState);
        File.Delete("Install.txt");
    }
}

Чтобы добавить проект установки

  • Меню файл -> Новый -> Проект - > Другие типы проектов -> Настройка и развертывание

  • Задайте свойства проекта, используя окно свойств

Статья Как создать настройку пакет с использованием Visual Studio .NET предоставляет подробную информацию.

11
ответ дан 24 November 2019 в 18:59
поделиться
Другие вопросы по тегам:

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