public void SqlString_ReInstall() { string sourceFile = Path.Combine(SqlStringTests.TestDataDirectory, @"product.wxs"); string msiFile = Builder.BuildPackage(sourceFile, "test.msi", "WixSqlExtension"); MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS); Assert.IsTrue(SqlVerifier.DatabaseExists(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "BlankDB15"), "Database '{0}' was not created on Install", "BlankDB15"); Assert.IsTrue(SqlVerifier.TableExists(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "BlankDB15", "TestTable1"), "Table '{0}:{1}' was not created on Install", "BlankDB15", "TestTable1"); // insert a record in the new database string sqlInsertString = "INSERT INTO TestTable1(name, value) Values('test', 'nooverwrite')"; SqlVerifier.ExecuteSQlCommand(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "BlankDB15", sqlInsertString); string sqlqueryString = "Select * from TestTable1 where name ='test' and value ='nooverwrite'"; Assert.IsTrue(SqlVerifier.SqlObjectExists(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "BlankDB15", sqlqueryString), "Query '{0}' Results were not created on Install", sqlqueryString); MSIExec.RepairProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS); // verify the change is still in the database Assert.IsTrue(SqlVerifier.SqlObjectExists(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "BlankDB15", sqlqueryString), "Query '{0}' Results were not created on Install", sqlqueryString); MSIExec.UninstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS); SqlStringTests.DropDatabase("BlankDB10"); }
private static void DropDatabase(string databaseName) { string sqlString = "drop database " + databaseName + ""; SqlVerifier.ExecuteSQlCommand(SqlStringTests.SQLServerHostName, SqlStringTests.SQLServerInstanceName, "master", sqlString); }