我们正在使用WIX安装程序(V3.10)安装我们的网站。我们的网站托管在Windows服务器计算机上的IIS上。 并使用自定义操作来执行数据库和IIS配置,这些配置已从wix.project声明并称为Customactions.wxs文件。 最近,当我尝试删除一些与在.WXS文件和.cs自定义方法中配置数据库有关的过时方法时, 导致上述问题。
下面是代码片段,在删除一些内容后尝试安装我的msi时遇到问题 .wxs文件中的其他customaction方法和行。
下面的此方法用于获取应用程序池
public static ActionResult GetAppPools(Session session)
Database db = session.Database;
"View lView = db.OpenView("DELETE FROM ComboBox");"
lView.Execute();
//Get combobox object from current session
View comboBoxView = session.Database.OpenView(GetComboContent);
comboBoxView.Execute(null);
Calling custom action ProjectSetupCustomAction!ProjectSetupCustomAction.UICustomAction.GetAppPools
MSI (c) (80!60) [14:05:52:290]: Note: 1: 2205 2: 3: ComboBox
MSI (c) (80!60) [14:05:52:290]: Note: 1: 2228 2: 3: ComboBox 4: DELETE FROM ComboBox
Custom Action Exception Microsoft.Deployment.WindowsInstaller.BadQuerySyntaxException: SQL query syntax invalid or unsupported.
at Microsoft.Deployment.WindowsInstaller.Database.OpenView(String sqlFormat, Object args)
at ProjectSetupCustomAction.UICustomAction.GetAppPools(Session session)
CustomAction GetIISAppPools returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 14:08:10: GetIISAppPools. Return value 3.
请分享您的想法。