独立的.NET应用程序

时间:2012-05-24 06:51:59

标签: c# .net

我想使用触发器和过程使用数据库创建一个Windows独立应用程序。 我想在多台机器上安装它,因此我可能只生成一个安装程序,只需在其他机器上运行它,所有数据库配置都是使用安装程序完成的。 是否可以在不预先安装.net框架的情况下在另一台PC上运行应用程序?

2 个答案:

答案 0 :(得分:1)

要运行.Net应用程序,您需要安装.Net Framework(和正确的版本)。

标准做法是编写一个安装程序来安装.Net Framework,数据库(无人值守安装)和您的应用程序。确保安装程序在vanilla计算机上运行,​​并且在其他PC上安装应用程序时不应该有任何问题。

修改:

当您去部署应用程序时,您需要创建一个安装程序。 Visual Studio有几个选项(开箱即用)可能是最容易创建MSI的选项。我会通过一个简单的MSI推荐你的第一个安装程序。

在Visual Studio中打开您的解决方案,单击文件>添加>新项目>其他项目类型>设置和部署> Visual Studio Installer>设置项目并阅读 How to create a Setup package by using 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。

答案 1 :(得分:1)

WIX是一个出色的基于XML的安装程序。它有一些很好的工具来执行SQL脚本和安装.net依赖项。可以找到教程here。使用SQL脚本here

您甚至可以直接从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>