代码之家  ›  专栏  ›  技术社区  ›  Arthur

MSI安装程序和自定义文件夹

  •  0
  • Arthur  · 技术社区  · 15 年前

    我有一个有趣的问题。我为.NET3.5应用程序创建了一个MSI安装程序。在安装过程中,我要求用户提供一个自定义文件夹名,应用程序输出文件应存储在该文件夹中。

    为了解决这个问题,我添加了一个“TextBox a”用户界面项。我为TextBox Edit1指定了一个属性。

    我在“Registry”视图中使用的这个属性将该路径存储在注册表中——这很有效。但是: 我还在“文件系统”视图中使用此属性来指定目标文件夹。

    结果是:注册表存储正确。但是安装程序总是创建一个名为 文本框编辑1

    虽然注册表值设置正确,但安装程序UI似乎没有更新该属性。

    是否有人遇到过相同或类似的问题并找到了解决方案/解决方法?

    编辑:如果我更改UI项目的顺序(首先要求自定义文件夹, 然后 询问目标文件夹)它可以工作。但我应该说,这不是一个解决办法。这是一个可悲的解决办法。

    编辑:对于Edit1,我指的是绑定到属性“DATAFOLDERPROPERTY”的“TextBox视图A”的编辑控件1。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Michael Urman    15 年前

    详细的MSI日志应该会告诉您更多关于到底发生了什么。有两件事突然向我袭来。一是你的财产,, Edit1 ,不是公共财产。为使其公开,所有字母必须为大写,例如。 EDIT1 CostFinalize 已设置目录位置。要在此时更新目录,您不能仅更改其关联属性。您需要添加一个 Set Directory custom action (type 35) SetTargetPath control event

    推荐文章