Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148

Setup

08.10.2011, 18:50. Показов 4064. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят как делать учтановщик для своих программ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2011, 18:50
Ответы с готовыми решениями:

Нешаблонный setup
Здравствуйте. В общем долго искал так и не нашел как реализовать это. Возможно ли построить Setup.exe и упаковать файлы в него, но не...

Получить путь из Setup Wizarda
Здравствуйте. Запилил свою программку и установщик к ней. Только есть одна проблема - одно из действий в программе у меня производится с...

Ошибка при запуске setup
Добрый вечер помогите, написал не большую программу. Пытаясь запустить setup выдает ошибку "Application cannot be started.Contact the...

24
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
08.10.2011, 18:59
В списке проектов есть категория Other Project Types, в ней Setup and Deployment.
Там создавайте проект Setup Project или, для старта, Setup Wizard
1
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
08.10.2011, 20:18  [ТС]
Вот я щас сделал установщик все классно работает! Вот только задумался а если пользователь пр установке сменит путь например! А у меня все завязано в приложении на C
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.10.2011, 20:42
Как минимум программа должна запускаться с повышенными привилегиями, раз на С всё пишешь (смотря куда конечно).

Добавлено через 2 минуты
Возьми за основу этот класс например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    internal class AppFolders
    {
        /// <summary>Корневая папка для всех сохраняемых элементов программы</summary>
        public String MainData { get; private set; }
 
        /// <summary>
        /// Инициализирует пути к данным приложения
        /// </summary>
        /// <param name="rootDirectoryName">Название корневой папки для хранения данных приложения</param>
        public AppFolders(String rootDirectoryName)
        {
            MainData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), rootDirectoryName);
        }
    }
rootDirectoryName это название папки, которая будет находится... Короче запусти, в отладчике посмотри путь.

Добавлено через 2 минуты
И строй все пути в программе к той папке. То есть не жёстко на С пиши, а:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    /// <summary>
    /// Глобальные объекты, доступные из любого места в приложении (GO - Global Objects)
    /// </summary>
    internal static class GO
    {
        static Constants constants = new Constants();
        static AppFolders appFolders = new AppFolders(Constants.AppMainName);
 
        static GO()
        {
        }
 
        /// <summary>Глобальные константы используемые в приложении</summary>
        public static Constants Constants
        {
            get { return constants; }
        }
 
        /// <summary>Папки используемые приложением</summary>
        public static AppFolders AppFolders
        {
            get { return appFolders; }
        }
    }
Использовать так:
C#
1
2
3
4
5
6
        private void saveButton_Click(object sender, RoutedEventArgs e)
        {
            //Путь к сохраняемому файлу.
            string path = GO.AppFolders.MainData + "database.xml";
            SaveData(path); //ну это просто для примера.
        }
Добавлено через 11 минут
Думаю понятно, что можно создать ещё подпапки, и думаю понятно что надо это делать так:
Код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    internal class AppFolders
    {
        /// <summary>Корневая папка для всех сохраняемых элементов программы</summary>
        public String MainData { get; private set; }
 
// !!!!!!!!!!!!!!!!!!!!!!!!!Смотреть нужно сюда!!!!!!!!!!!!!!!!!!!!!!!!!
        /// <summary>Папка для хранения логов</summary>
        public string Logs { get; private set; }
 
 
        /// <summary>
        /// Инициализирует пути к данным приложения
        /// </summary>
        /// <param name="rootDirectoryName">Название корневой папки для хранения данных приложения</param>
        public AppFolders(String rootDirectoryName)
        {
            MainData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), rootDirectoryName);
 
//!!!!!!!!!!!!!!!!!!!!!!!!!Смотреть нужно сюда!!!!!!!!!!!!!!!!!!!!!!!!!
            Logs = Path.Combine(MainData, "Logs");
        }
    }
2
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
08.10.2011, 20:49  [ТС]
Че та я так ии не понял ткуда он будет цеплять дирректорию которую выбрал юзверь?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.10.2011, 21:15
Цитата Сообщение от bellliy Посмотреть сообщение
Че та я так ии не понял ткуда он будет цеплять дирректорию которую выбрал юзверь?
Честно сказать я вопроса не понял. Какую директорию? Где пользователь её выберет?

Цитата Сообщение от bellliy Посмотреть сообщение
Вот только задумался а если пользователь пр установке сменит путь например! А у меня все завязано в приложении на C
Ну я так понимаю в проге жёстко прописаны пути на диск С, вот я тебе и показал, как можно переделать, так чтобы было удобно и легко модифицировать сменив в одном месте 1 путь, автоматом сменятся все пути для подпапок и т.д. Короче имхо это номр вариант, лучше пока не придумал. Да и не только, чтобы было удобно модифицировать, удобно вообще работать с путями.
1
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
08.10.2011, 21:36  [ТС]
ааа а я и думаю че то не то мб я не так понял!

Я сделал для проги словаря установчик ну что бы словарь с прогой хранился и уднобно было! Setup

там есть возможность выбора дериктории куда ставить вот я и думаю если он выберет не с а Д к примеру прога работать не будет
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
08.10.2011, 22:12
В настройках установщика просто установите чтобы все контент-файлы хранились в директории установки. И пусть юзер хоть диск Z выбирает - все будет копироваться туда.
0
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
08.10.2011, 22:52  [ТС]
А вы не подскажите где такие настройки?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.10.2011, 23:02
Цитата Сообщение от kolorotur Посмотреть сообщение
В настройках установщика просто установите чтобы все контент-файлы хранились в директории установки. И пусть юзер хоть диск Z выбирает - все будет копироваться туда.
Ну если он их писать не будет, то да, а если будет, то из-за этого для программы нужны будут повышенные привелегии, если ставить в Program Files, я думаю не будет же особым условием программы, что её нельзя ставить в Program Files. Короче делайте как знаете .

Добавлено через 1 минуту
А и кстати, я только заметил, как я советовал использовать выложенные классы, я чуть по другому использую у меня есть класс ApplicationFiles, а у GO свойство AppFiles, вот внутри него я прописываю пути, короче так думаю лучше, чем в самой проге указывать путь.
1
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
09.10.2011, 16:57  [ТС]
К стати сторонние сылки вроде запрещены, но если против правил удалите пост!

Вот отличный мануал по созданию Setup http://wladm.narod.ru/C_Sharp/setup_win.html

Модерам можно было бы внести сюда ее в раздел новечкам!!!
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.10.2011, 20:50
Ссылка ведёт на http://ткни меня (ну это я так, на всякий случай, просто странная ссылка какая-то, впервые приходится не нажимать на неё, а копировать в пустую вкладу в браузер)
0
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
09.10.2011, 21:25  [ТС]
Сори Тыкни меня

Добавлено через 6 минут
Блин теперь новая проблемма! Для работы моего проекта нужно установить на конечном компьютере еще 3 ехе файла!

2 самораспаковывающихся архива.ехе и нормальный сетап.ехе

Я их запилил в свой установщик, во время установки программы возникает 2 ошибки якобы не может установить он ети 2 ехе затем запускается установка сетап.ехе и все готово!

программа естественно не работает так как для работы Msagent нужны те 2 архива которые почему то не стали!

Что делать мб кто знает?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.10.2011, 22:18
Воспользуйся прогой Inno Setup, я им пользовался, красота, всё пашет.

Цитата Сообщение от bellliy Посмотреть сообщение
2 самораспаковывающихся архива.ехе и нормальный сетап.ехе
А зачем они? Вообще на самораспаковывающиеся архивы любит ругаться антивирус касперский (про другие не в курсе).

Добавлено через 3 минуты
Хотя наверное проблема вовсе не в этом. Короче если нужно в итоге получать один файл инсталлятор программы, то это то что нужно.
1
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
09.10.2011, 22:20  [ТС]
Да не не антивирус ругается а сам установщик! Ну что бы в словаре Ms Agent работал нужны эти архивы!
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.10.2011, 22:22
Цитата Сообщение от bellliy Посмотреть сообщение
Ну что бы в словаре Ms Agent работал нужны эти архивы!
Честно говоря я практически ничего не понял. Что за архивы, что за Ms Agent, поэтому врятли смогу чем-то помочь. Вообще ничего не понял
0
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
09.10.2011, 22:22  [ТС]
А что делает эта программа??? Конвертирует эти архивы?

Inno Setup
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.10.2011, 22:24
Цитата Сообщение от bellliy Посмотреть сообщение
А что делает эта программа??? Конвертирует эти архивы?
Inno Setup? Это прога для создания инсталляторов. Да что за архивы? Я не понимаю о чём речь. Откуда они берутся. Какую функцию выполняют. Расскажи чего ты ожидаешь (по шагам), а что получаешь.
0
39 / 40 / 10
Регистрация: 07.01.2010
Сообщений: 148
09.10.2011, 22:31  [ТС]
Словарь пишу курсач! Решил его научить разговаривать с пользователем! вспомнил такое делао как MS agent в офисах есть (помошники) - скрепочка, робот и.д. Но что бы речь работала на конечном компьютере пользователя нужны так называемые синтезаторы речи что бы не писать их самому скачал!

Они в самораспаковывающемся архиве,ехе! Затем запилил все это дело в собственный инсталятор заставил устонавливать этот архив во время установки приложения! А он выдает ошибку когда его ставить пытается!

Отдельно от моего установщика архив устанавливаетя спокойно! Но мне то нужно что б пользователь ни чего руками не мацал а занчит все должно поставиться само !

Вот как то так)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.10.2011, 23:20
Ну теперь думаю, если бы ещё было подробное описание ошибки, было бы неплохо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2011, 23:20
Помогаю со студенческими работами здесь

Ошибка в Unity: ArgumentException: Input Button Fly is not setup.
Unity выдаёт ошибку: ArgumentException: Input Button Fly is not setup. To change the input settings use: Edit -&gt; Project Settings -&gt;...

Как сделать установочный файл моей программы - setup.exe
Допустим я закончил написание своей программы. На данный момент я знаю лишь 1 способ ее запуска - спец ярлык в папке debug. Вопрос: Как...

Установщик созданный в Inno Setup выдает ошибку "файл не найден"
Здравствуйте! Помогите мне пожалуйста. Я сделал установщик для написанной мною программы с помощью Inno Setup Compiler. Всё прошло...

Setup Project
Как сделать чтобы framework устанавливался автономно? Файл framework 4 client добавил в Application Folder но он пытается его скачать ,...

Приложение Setup
Всеп доброго времени суток. Вопрос такой, как вообще создается приложение Setup? т.е. есть программа надо ее устанавливать при помощии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru