Я использую сценарий ниже для установки mysql с моим приложением, но всегда не удается создать базу данных и загрузить сценарий базы данных. Отладчик возвращает код ошибки 1, я не нахожу другого сообщения о причине сбоя где-нибудьсоздать базу данных mysql inno setup возвращает код ошибки 1
Когда я проверяю средство просмотра событий, он видел, что сервис успешно создан и запущен, что верно, но я не понимаю, почему база данных не создается.
[Run]
;------------------install service MySQL --------------------------------
;Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "--install"; WorkingDir: "{app}\mysql\bin"; StatusMsg: "Installing the MySQL"; Description: "Installing MySQL"; Flags: runhidden; Check: MySQL_Is;
Filename: msiexec; Parameters: "/i ""{app}\mysql-5.5.11-win32.msi"" /qn INSTALLDIR=""{app}\mysql"" DATADIR=""{app}\mysql\data"" "; WorkingDir:{app}; StatusMsg: Please wait while we install; Flags: runhidden
;---------------------CONFIGURING ----------------------------
Filename: {app}\mysql\bin\MySQLInstanceConfig.exe; Parameters:"-i -q ""-l{app}\mysql\mysql_install_log.txt"" ""-nMySQL Server 5.5"" ""-p{app}\mysql"" -v5.5.23 ""-t{app}\mysql\my-template.ini"" ""-c{app}\mysql\mysql.ini"" ServerType=SERVER DatabaseType=MIXED Port=3311 StrictMode=yes ConnectionCount=15 Charset=utf8 ServiceName=MySQL55 AddBinToPath=yes RootPassword=root4u SkipNetworking=no"; WorkingDir: {app}; StatusMsg: Configuring MySQL services; Description: Configuring MySQL Service; Flags: runhidden
;--------------------- load Database script
;Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-u root -proot4u -h localhost -e ""source {app}\items_db.sql"""; WorkingDir: {app}; StatusMsg: Loading Database Initial Data; Flags: runhidden waituntilterminated;
Filename: {app}\{#AppExeName}; Description: {cm:LaunchProgram,{#AppName}}; Flags: nowait postinstall skipifsilent
[UninstallRun]
Filename: {sys}\net.exe; Parameters: "stop ""MySQL55"""; StatusMsg: "Stopping MySQL Service ..."; Flags: runhidden;
Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "remove ""MySQL55"""; StatusMsg: "Deleting MySQL Service ..."; Flags: runhidden;
Filename: msiexec; Parameters: "/x ""{app}\mysql-5.5.11-win32.msi"" ";
========================= Сценарий базы данных ==============
/* Tables */
DROP TABLE IF EXISTS clothes;
CREATE TABLE clothes (
id int AUTO_INCREMENT NOT NULL,
name varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (id)
) ENGINE = MyISAM;
Insert Into clothes (Id,Name) values (1,"Shirt");
Пожалуйста, прекратить размещение этих плохих вопросов. Это третий подряд. Ни то, ни другое, вы потрудились протестировать автономную команду и проверить результаты. Оба предыдущих вопроса не имели ничего общего с Inno Setup. Оба раза, это была команда или ее исходные данные, которые были плохими. Если бы вы запустили автономную команду, вы увидите сообщения об ошибках или другие признаки проблемы. –
было бы проще указать, что это ошибка команды, и укажите это. Если у меня будет ответ, как вы думаете, я бы спросил? – Smith
Вы должны спросить только после того, как вы действительно проверите команду в командной строке. Что вы не делали, как четко показывает ваш ответ. Надеюсь, вы наконец поняли это, и вы не зададите еще один вопрос, например: «Моя команда не работает в Inno Setup, я не знаю, почему» *, когда фактическая проблема равна * «моя команда не работает в все, и я даже не потрудился протестировать его по команде, например, где я увижу фактическое сообщение об ошибке, которое поможет мне отладить его »*. –