有没有办法让.NET应用程序读取在安装时定义的变量?

时间:2009-10-19 22:29:29

标签: .net visual-studio setup-project

使用Visual Studio安装项目,我可以要求用户输入一些内容,例如文件夹的位置。安装的应用程序有什么方法可以读取用户输入?

4 个答案:

答案 0 :(得分:3)

最简单的方法是将值存储在注册表中:

  1. 右键单击您的安装项目,然后选择查看 - >用户界面

  2. 安装下添加新对话框并将其移至序列中的正确位置

  3. 对话框中的每个控件都有一个名为 Property 的属性,例如 Edit1Property ButtonProperty 。此属性的名称应该是一些唯一值,默认情况下它将类似于 EDITA1 。稍后我们将使用此属性名称来引用控件的值。

  4. 右键单击您的安装项目,然后选择查看 - >注册表

  5. 导航至HKCU\Software\[Manufacturer]HKCU\Software\[Manufacturer],具体取决于您是仅为当前用户还是机器范围存储此设置。您还可以在用户/计算机配置单元下创建新条目。然后,该条目将存储在HKCU或HKLM下,具体取决于安装是按用户还是按机器安装。

  6. 在5中选择的键下创建一个新值。在该值的属性视图中,输入在步骤3中指定的控件的属性名称。此名称必须在方括号中,例如 [EDITA1] ,你就完成了。

答案 1 :(得分:2)

您可以将提供的位置传递给自定义安装操作,并使用用户提供自定义安装程序操作的值执行您想要的任何操作。保存到文本文件,配置文件,注册表,等等...

只需将用户通过CustomActionData选择的值传递给自定义安装操作,并在OnInstall中读取它。

http://msdn.microsoft.com/en-us/library/2w2fhwzz(VS.80).aspx详细说明了如何将数据传递到自定义安装操作中。

然后,当您启动应用程序时,您可以从已知位置读取任何内容。

答案 2 :(得分:1)

我没试过这个,但我认为你可以在安装时写入Windows的注册表并在运行时阅读它。

答案 3 :(得分:0)

有几种方法......

  • 安装程序可以在某个位置编写一个配置文件,然后可以被应用程序读取(典型的是旧版Windows和Linux版本)
  • 对于Windows程序,注册表是编写和阅读此类信息的首选方式(直到MS提出了一种新的方式来执行这些操作)。每个应用程序都在注册表中获得“典型”路径,并且可以读取写入它。这不仅适用于用户在安装过程中设置的信息,还适用于大量配置内容。

不确定你的问题是针对什么的。但是听起来你有一个特定的场景。