C# 部署C应用程序-用户表单(新手)

C# 部署C应用程序-用户表单(新手),c#,visual-studio-2010,deployment,C#,Visual Studio 2010,Deployment,我实际上是一个完全的新手,我试着在谷歌上搜索答案,结果完全弄糊涂了 使用VisualStudio2010,我有一个C应用程序,它是一个朋友的电子邮件通知程序。外部Arduino硬件工作正常,网站的主代码工作正常,但我将它发送给世界另一端的她使用,她非常“非技术性”——因此需要一个“设置表单” 我已经创建了一个表单,她可以在其中输入从列表中选择的通信端口、用户名和密码,所有这些都将由主代码使用,但该表单只应在应用程序首次安装到PC上时运行 目前它在VS-2010中运行,尽管我需要消除一些障碍、验证

我实际上是一个完全的新手,我试着在谷歌上搜索答案,结果完全弄糊涂了

使用VisualStudio2010,我有一个C应用程序,它是一个朋友的电子邮件通知程序。外部Arduino硬件工作正常,网站的主代码工作正常,但我将它发送给世界另一端的她使用,她非常“非技术性”——因此需要一个“设置表单”

我已经创建了一个表单,她可以在其中输入从列表中选择的通信端口、用户名和密码,所有这些都将由主代码使用,但该表单只应在应用程序首次安装到PC上时运行

目前它在VS-2010中运行,尽管我需要消除一些障碍、验证和隐藏-但我不知道如何存储数据并使其可用于主代码,确保表单仅在安装时运行,或者确保表单仅在c中运行,这正是创建可安装应用程序所需的操作或包含的操作

有没有人能帮我或者指导我学习一些不认为我理解所有术语的教程

我只是想创造一些她可以用记忆棒安装的东西。我知道这是可以做到的,对于那些理解的人来说,这很简单——我正在努力学习,但我已经不再年轻,这是一场斗争

谢谢

a存储数据并使其可用于主代码

将数据写入文件! 您有数百万种可能性,可以直接读取和写入纯文本文件,但如果要加密文件,则可能需要存储密码,您可以使用System.Security.Cryptography,如中所示

b确保表单仅在设置时运行

一旦你写了文件,那么这意味着程序已经运行了至少一次,所以你不需要再问用户,只要从文件中读取数据就可以了

c创建一个可安装的应用程序需要做什么或包括什么


Visual Studio已经为该任务提供了安装项目。请参阅。

从您的评论和Arduino代码项目的链接中,我推测这是您第一次尝试用C编写代码,或者说非常接近。理想情况下,你希望让你的朋友尽可能地轻松。我能给你的最好建议就是在你学会走路之前不要试着跑。如果您尝试创建自定义安装项目并使用配置文件(这正是您所要做的),您可能会遇到很多障碍,以至于您永远无法成功完成项目。这种经历令人沮丧,我不希望你失去尝试另一个软件项目的动力


让你自己轻松完成这个初始项目。在大多数情况下,这不是一个好的编程实践,但如果您只有一个用户,请硬编码她的配置信息以用于第一个版本。换句话说,将她的用户名、密码、com端口等直接放入主程序。这样就不需要配置和任何自定义设置表单。如果你仍然想让整个事情变得可配置和通用,那么在下一个版本中就这样做。自定义设置不是初学者的任务。与第一个版本相比,在朋友的兴奋和赞扬的鼓励下,使用C应用程序会容易得多。

部署C应用程序?这是否意味着制作一个安装程序?还有电子邮件通知器?你有邮件服务器吗?您还有很多需要考虑的地方,请将安装项目添加到解决方案中。此链接可以帮助您:要存储应用程序所需的数据,您可以使用app.config文件。应用程序可以读取配置文件中定义的设置。但是,您可能需要加密密码等敏感信息。在安装过程中,您可以根据用户的输入更新配置文件。如前所述,您需要为应用程序创建一个安装项目。有关更多信息,请参见此处:制作安装程序?-是的,我想是的……我只想在U盘上放一些东西,她可以插入,为Arduino设置通讯端口,输入用户名和密码,然后,当Arduino在安装程序中插入时,它会自动启动?-是的,我想是的。。。我只想在U盘上放些东西,她可以插进去,用表格设置Arduino的通讯端口,输入电子邮件地址、用户名和密码,然后,当Arduino插上时,它会自动启动,但是如果没有这个表单,那么它需要以某种方式访问,以防由于添加了其他USB设备而导致PC的硬件配置发生变化——我想?邮件服务器?这是一个Gmail帐户,我在另一个地方找到的代码是制作一个表格,用按钮打开和关闭Arduino上的LED,是的,这仍然是CI的第一步。我想在这里硬编码信息,但这涉及到一个文化问题。在她所在的地方,你的“秘密”信息正是
然后你告诉任何人。我也不能得到她的通讯端口信息,直到她有Arduino的部分插入,看看它是什么样子,这意味着双重运输,加上养老金,所有加起来,再加上在翻译中丢失的东西。我阅读了第一次回复中的两个链接,其中一个有一定的意义,但似乎使用了一个预先配置的对话框,但它很接近。如果我可以使用表单而不是对话框,那就可以了。不过我还是被术语弄糊涂了!