C# 如何从visual studio 2013 c项目的安装程序中获取变量?

C# 如何从visual studio 2013 c项目的安装程序中获取变量?,c#,wpf,visual-studio-2013,installation,installshield,C#,Wpf,Visual Studio 2013,Installation,Installshield,我正在将Visual Studio 2013与wpf C项目类型一起使用。我的目标是在安装软件的过程中,可以提示输入一个变量,该变量将是unc路径。基本上在安装过程中,我将设置该程序将使用的服务器数据目录的路径 在安装程序上,只有一个文本框,旁边有一个标签,我可以在安装期间将的值存储在注册表中,或者从代码中进行访问 ServerPath\\servername\someshare 我在网上搜索了好几天,尝试了installshield LE以及带有配置->应用程序设置的基本visual stud

我正在将Visual Studio 2013与wpf C项目类型一起使用。我的目标是在安装软件的过程中,可以提示输入一个变量,该变量将是unc路径。基本上在安装过程中,我将设置该程序将使用的服务器数据目录的路径

在安装程序上,只有一个文本框,旁边有一个标签,我可以在安装期间将的值存储在注册表中,或者从代码中进行访问

ServerPath\\servername\someshare

我在网上搜索了好几天,尝试了installshield LE以及带有配置->应用程序设置的基本visual studio安装程序,但我似乎找不到一种方法来完成看似简单的任务

有人知道我怎么做吗


谢谢你的帮助

要在安装过程中获取设置文本框中设置的路径,可以在其代码中创建并访问与文本框控件关联的属性值。要在C代码中获取和设置安装程序属性,可以按照以下示例进行操作:

public static ActionResult CustomAction1(Session session)
{
// get property
Variable = session["PROPERTY"];

// set property
session["PROPERTY"] = variable;

return ActionResult.Success;
}

如果VS 2013的Visual Studio Installer附加组件不是InstallShield,则这是使用该工具的正常方式:

使用“添加”对话框在安装项目中创建文本框对话框。看来你已经走了这么远

该对话框称为TextBoxes对话框有一个属性窗口,用户输入的文本与名称为EDITA1、EDITA2等的属性相关联

使用registry视图在需要的位置创建注册表项,并选择一个名称,然后将其大小写敏感值[EDITA1]指定给注册表项,从而将实际值存储在注册表中


这些VS设置项目的一个缺点是,您无法在输入时验证输入,因此验证很麻烦

所以。。。ClickOnce不允许您这样做?谢谢您提供的信息!我会试一试的。谢谢菲尔,这帮了我的忙!把我的头撞在墙上好几天,什么也没找到。快速提问。我再一次陷入困境:我下载了Visual Studio 2013扩展,它带回了您所引用的安装项目。但是如何进入添加对话框部分?我到处都找不到。你去什么菜单打开它?编辑:没关系,我找到了。对于那些可能想知道的人,请转到用户界面编辑器,右键单击一类对话框,如开始进度或结束,然后从那里单击添加对话框。我试图在现有对话框之间插入它,但没有收到该选项。