我想使用触发器和过程使用数据库制作一个 Windows 独立应用程序。我想在多台机器上安装它,所以我是否可以只制作一个安装程序并在另一台机器上运行它,所有数据库配置都是使用安装程序完成的。是否可以在另一台电脑上运行应用程序而无需在其上预先安装 .net 框架?
2 回答
要运行 .Net 应用程序,您需要安装 .Net Framework(和正确版本)。
标准做法是编写一个安装程序来安装 .Net Framework、数据库(无人值守安装)和您的应用程序。确保安装程序可以在普通机器上运行,并且在其他 PC 上安装应用程序应该没有任何问题。
编辑:
当你去部署你的应用程序时,你需要创建一个安装程序。Visual Studio 有几个选项(开箱即用),它们可能是最容易创建 MSI 的。我会通过一个简单的 MSI 推荐您的第一个安装程序。
在 Visual Studio 中打开您的解决方案,单击文件 > 添加 > 新项目 > 其他项目类型 > 安装和部署 > Visual Studio 安装程序 > 安装项目并阅读 如何使用 Visual Studio .NET 创建安装包。
毫无疑问,您会有更多关于此的问题,大多数问题都可以通过谷歌搜索来回答,这里有一篇很棒的文章,其中包含许多为新玩家制作安装程序的提示:http: //social.msdn.microsoft.com/Forums/ zh/winformssetup/thread/717cfce0-3061-400f-9ea3-069f73f3a473
这个基本的 Microsoft 安装程序将涵盖 99% 的您想要做的事情,我鼓励您阅读ClickOnce。对于复杂的安装(例如无人值守的 dB 安装),我使用 NSIS 并使用 HW Edit 中的向导来启动脚本。HTH。
WIX是一个优秀的基于 XML 的安装程序。它有一些用于执行 SQL 脚本和安装 .net 依赖项的出色工具。教程可以在这里找到。这里有 SQL 脚本。
你甚至可以直接从 WIX 中调用 SQL。这允许您将用户驱动的 UI 属性写入数据库:
<util:User Id='SQLUser' Name='[SQLUSER]' Password='[SQLPASSWORD]' />
<Component Id='SqlComponent' Guid='YOUR_GUID_HERE' KeyPath='yes'>
<sql:SqlDatabase Id='SqlDatabase' Database='DatabaseName' User='SQLUser' Server='[SQLSERVER]' CreateOnInstall='yes' DropOnUninstall='no' ContinueOnError='no'>
<sql:SqlScript Id='CreateDatabaseTables' BinaryKey='CreateDatabaseTables' ExecuteOnInstall='yes' />
<sql:SqlString Id="AddEntryToTableA" ExecuteOnInstall ="yes" ContinueOnError="no" Sequence="1" SQL="INSERT TableA VALUES (N'[PROPERTY1]', N'[PROPERTY2]', N'[PROPERTY3]')" />
</sql:SqlDatabase>
</Component>