创建无需安装即可运行的桌面(窗口)应用程序?

时间:2010-01-06 07:08:20

标签: c# .net desktop-application

我想在C#中创建一个基于窗口的应用程序,这样我们就可以在不将应用程序安装到每个系统的情况下运行它。 它还需要通过数据库连接该应用程序。

我想创建这个应用程序,以便它可以直接通过pendrive运行,也可以写入数据库。

我知道如何通过窗口应用程序使用数据库但仅使用安装程序。

  

我创建了许多窗口应用程序   但是所有在客户端机器上运行之后   安装部署的安装程序。但现在   我希望客户不需要安装   设置部署。他可以用我的   通过直接点击我的申请   可执行文件

4 个答案:

答案 0 :(得分:13)

Windows中没有任何内容需要安装应用程序。也就是说,安装的目的是:

  • 让最终用户更简单。
  • 设置注册表,通常用于路径信息和卸载信息。
  • 初始化软件首次运行前可能需要的任何初始信息。

简单地避免使用注册表并将文件本地保存到应用程序通常足以使您的应用程序可移植。

也就是说,只要您允许用户在您的软件中选择数据库位置,您应该没问题。例如,在.ini文件中保存笔式驱动器上的信息将允许您插入的每台计算机读取这些相同的设置。

如果您希望每台计算机的数据库连接字符串不同,则可以将设置保存到%appdata%目录。当用户稍后重新插入pendrive时,他的设置仍将存在,并且其他用户将看不到这些相同的设置。

然而,第二种方法的缺点是用户无法“卸载”并自动恢复写入%appdata%的空间。但是,对于大多数私人商业应用程序而言,这并不是一个问题。


编辑:如果您真正的问题是如何在没有安装程序的情况下分发应用程序 ,只需构建应用程序的发布版本,然后查看{{1}在你的项目中。将这些文件复制到另一个位置,删除所有调试或不需要的文件,并确保按顺序拥有所有依赖项。

答案 1 :(得分:0)

如果您只想连接到数据库,则可以在EXE中执行此操作,而无需任何类型的安装程序。如何完成取决于它是哪个数据库,以及如何连接它,但通常需要在EXE中编码的项目(或EXE可以读取的外部XML文件)是连接字符串。此连接字符串可能是安装程序正在管理的内容。

可以在此处找到有关在C#中构建第一个Windows应用程序的好教程: http://msdn.microsoft.com/en-us/library/360kwx3z.aspx

答案 2 :(得分:0)

如果您不知道在何处以及如何启动窗体表单应用程序或如何连接到数据库左右,那么有很多教程,您可以非常轻松地使用Google;)

以下是几个例子:

  

与GUI相关:

     

Tutorial: Working with Windows Forms - Part I

     

GUI Windows Forms « C# / CSharp Tutorial

     

Windows Forms tutorial with C#

     

相关数据库:

     

Creating a database connection

答案 3 :(得分:0)

最简单的安装形式;使用if / else;当应用程序启动时,它会检查一些注册表项(比如说,安装=完成),如果注册表项的值是“完成”,则运行其他部分,这意味着运行应用程序。如果是“notdone”,则设置所有初始设置,然后运行应用程序。伪将如下:

if(HasValidRegistryKeys()) //Check if initial settings are already there
{
    Runnable=true;
}
else
{
//Not installed, lets setup app settings
//Assume that the application is running for the first time.
try
{
    SetupRegistry(); //Set installation=done
    SetupDatabase();
    //Setup more things.
    Runnable=true;
}
catch()
{Runnable=false;}

}

//Run the app
if(Runnable)
{
    RunApp();
}
else
{
    MessageBox.Show("Some error");
}