我仍在使用我的Wix安装程序,包括替换一些MySql命令。
具体来说,我希望安装程序运行创建用户的脚本,然后使用该用户,我希望安装程序运行创建数据库并创建表的脚本。 (似乎安装程序应该能够这样做。)
我之前发布过关于该用户的信息,但尚无法解决这个问题。
所以暂时跳过这个,让我们假设我的用户存在。该用户碰巧不拥有密码。如果没有安装程序,我通常用来运行创建数据库和表的脚本的命令是:
mysql --user = myname< thisismyscript.sql
这很好 - 所以我知道我的脚本有效。
我在Wix中看到的两个问题,我希望有人可以解释或发布其他示例(我通过查看其他示例来学习最好)。
1)似乎缺少密码。
在.wxs文件中,我有:
<util:User Id='SQLUser' Name='[SQLUSER]' />
<Component Id='SqlComponent' Guid='7B524167-D8CF-465E-AEE8-6B70CF712A3A' KeyPath='yes'>
<sql:SqlDatabase Id='SqlDatabase' Database='adatabase' User='SQLUser' Server='[SQLSERVER]'
CreateOnInstall='yes' DropOnUninstall='yes' ContinueOnError='yes'>
<sql:SqlScript Id='mynewdb' BinaryKey='mynewdb' ExecuteOnInstall='yes' />
</sql:SqlDatabase>
</Component>
<Binary Id='mynewdb' SourceFile='thisismyscript.sql' />
<Property Id='SQLUSER'>myname</Property>
<Property Id='SQLSERVER'>localhost</Property>
(这些都嵌入在.wxs文件的正确位置,文件编译得很好......就在我运行.msi时,我的数据库还没有创建。)
我能够将密码属性留空的唯一方法是添加该Admin标记。我不知道该怎么做。
我还使用日志记录运行了msiexec,看来我的sql脚本执行了...我没有在日志中看到的错误。
帮助?这看起来像安装人员应该做的事情......而且我只是做错了......
提前致谢!
-Adeena
答案 0 :(得分:1)
WiX和MSI都没有MySQL的原生支持。 InstallShield有MySQL支持。