Создание установочного файла с использованием Advanced Installer и C # - PullRequest
2 голосов
/ 06 сентября 2011

Это первый раз, когда я создаю установку.Мне нужна помощь в этом.

  1. Я использую опцию «Опубликовать» при создании моей установки.Когда я заканчиваю установку, путь установки установки содержит все файлы .cs, которые видны во время разработки.Это позволяет любому человеку, у которого установлена ​​VS, редактировать мое приложение.

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

  2. В настоящее время я использую функцию пробной версии и регистрации расширенного установщика.Эта функция создает DLL в каталоге установки.Как использовать относительный путь для ссылки на мою DLL?

  Environment.CurrentDirectory = Directory.GetCurrentDirectory();  
  string dllPath = Path.GetFullPath(@"..\..\Trial.dll");

Приведенный выше код отлично работает во время разработки.Но когда я устанавливаю EXE, он возвращает ошибку.По моему мнению, в пути есть ошибка.

Во время установки я использую этот путь:

C:\Program Files\ManufacturerName\AppName\

После завершения установки папки выглядят так:

C:\Program Files\ManufacturerName\AppName\<My CS files are here, on a silver platter>
C:\Program Files\ManufacturerName\AppName\bin\release
C:\Program Files\ManufacturerName\AppName\bin\release\<app.exe here>
C:\Program Files\ManufacturerName\AppName\bin\debug
C:\Program Files\ManufacturerName\AppName\obj\x86
C:\Program Files\ManufacturerName\AppName\obj\x86\release
C:\Program Files\ManufacturerName\AppName\obj\x86\debug
C:\Program Files\ManufacturerName\AppName\Properties
C:\Program Files\ManufacturerName\AppName\Service References

В этих папках есть файлы.Это то же самое, что и путь к моему проекту.

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

1 Ответ

2 голосов
/ 06 сентября 2011

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

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

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

Вы пробовали тип проекта приложения Visual Studio?Он импортирует только файлы вашего приложения.

Как использовать относительный путь для ссылки на мою DLL.

Лицензионная DLL должна быть расположена рядом с вашим EXE-приложением.Таким образом, вы можете получить к нему доступ напрямую по имени, не пытаясь использовать относительные пути.

Обратите внимание, что в вашем проекте установки вы можете перемещать файлы в любую нужную папку.

...