progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Please wait... ");
progressDialog.setCancelable(false);
progressDialog.show();
Вы пытаетесь установить mysql сервер. Это должно быть Вашей первой подсказкой, что что-то неправильно. Большинство приложений для сервера разработано, чтобы быть установленным на серверах, не на клиентах. Известная точка в этом - то, что приложениям для сервера нравится предполагать, что они 'владеют' сервером. Это - гигант нет - нет для клиентских приложений.
Теперь, когда мы установили, что делаем его неправильно, мы должны выбрать, что сделать. У нас есть 2 опции:
Я лично рекомендовал бы переключиться на SQLite (или подобный) как можно скорее. Это - "правильная вещь", чтобы сделать, и Вы не должны будете поддерживать взломы в течение последующих лет.
Вас предупредили. Вот некоторые вещи, о которых необходимо будет знать, и смягчать:
Таким образом со всем этим в памяти, я сказал бы, что Ваш лучший выбор состоит в том, чтобы настроить xcopyable mysql
Этот вопрос очень похож на другой вопрос. Однако ответы действительно не помогают.
Можно выполнить исполняемые файлы от пользовательского действия в проекте развертывания .NET, это - то, что я рекомендовал бы. (Посмотрите в соответствии с заголовком "Вызов исполняемого файла как пользовательское действие"),
Надо надеяться, все может заботиться о через командную строку. В противном случае попробуйте установщик в виде сценария как Мудрый или InstallShield, я думаю, что у них есть лучшая поддержка материала как это.
Надежда, которая помогает!
Если Вы используете или можете использовать, NSIS, необходимо считать это: Тихий MySQL Install
Относительно восстановления Вы смогли писать сценарий чего-то, что использование одного из MySQL включало utils или изменяет часть этого старого сценария NSIS
Удачи!
Взгляните на использование пакета Visual Studio и инструмента развертывания. Это должно автоматически ввести зависимости от MySQL, если Вы соединяетесь исходно (MySQL компоненты.NET), а не соединение ODBC. В любом случае это позволяет Вам добавлять другое программное обеспечение к программе установки, которая может быть автоматически распакована, если Вам нужен он. Я использовал его для развертывания приложений C#, пользующихся библиотеками MySQL, которые Вы загружаете с веб-сайта MySQL и для библиотек MySQL 3rd party CoreLab.
Я имею, отправляют ответ по другому вопросу
Мы проявили другой подход на этом. Мы делаем MySQL способным xcopy путем записи обертки для генерации конфигурационного файла перед называнием MySQL (для корректной установки основного пути и так далее). Затем у нас есть установленное использование другого сервиса стандартной установки. Этот сервис будет заботиться о стартовом MySQL и другой необходимой фоновой программе (в нашем Apache случая) для нас. Так как MySQL, развертываются нами, мы хотели иметь полный контроль над ним.
Таким образом с этим методом, Вы могли просто включать пакет MySQL наряду со своей установкой, и просто взволнованный по поводу установки Вашего собственного сервиса.
@ Орион Эдвардс
Большое спасибо за шаги. У меня были ТО ЖЕ сомнения. Фактически, мы просто отказались от SQLite, потому что нашему автономному приложению требовались некоторые процедуры и ограничения внешнего ключа. Но теперь я чувствую, что SQLite всегда является лучшим выбором для автономного настольного приложения, если его нужно развертывать на клиентских машинах.
На данный момент, Я должен придерживаться MySQL. Поэтому я использую разные сценарии и механизмы для обработки различных возможных ситуаций. Например:
Подходит ли этот подход? Или есть более подходящий способ сделать это?
Думаю, в будущем я буду придерживаться SQLite ! :-p
и, наконец, создать экземпляр базы данных, все в сценарии (конечно, эти шаги должны выполняться США, а не пользователем, поскольку это очень редкий случай.)Этот подход подходит? Или есть более подходящий способ сделать это?
Думаю, в будущем я буду придерживаться SQLite ! :-p
и, наконец, создать экземпляр базы данных, все в сценарии (конечно, эти шаги должны выполняться США, а не пользователем, поскольку это очень редкий случай.)Этот подход подходит? Или есть более подходящий способ сделать это?
Думаю, в будущем я буду придерживаться SQLite ! :-p