【问题标题】:Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) returns wrong value in Setup projectEnvironment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 在安装项目中返回错误值
【发布时间】:2013-11-07 07:50:36
【问题描述】:

我使用 VS2010 创建一个安装项目,我有一个自定义操作应该在 My Documents 文件夹中创建一个文件。

但是Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 给我返回了一个不正确的值。 My Documents 文件夹被重定向到 D: 驱动器中的另一个文件夹。

当我测试自定义操作时,我发现这个方法返回一个空值,但它可以在控制台应用程序中返回一个正确的值,有人可以帮忙吗?

【问题讨论】:

    标签: c# setup-project deployment-project


    【解决方案1】:

    为所有人安装的 VS 设置项目中的自定义操作使用系统帐户运行,而不是安装用户的帐户。

    如果您想在该 Documents 文件夹中创建文件,请将 PersonalFolder 标准 Windows Installer 属性传递到您的自定义操作中。

    http://msdn.microsoft.com/en-us/library/aa370905(v=vs.85).aspx#system_folder_properties

    如果它是一个安装程序类调用,我想你会传递它是表单中的调用参数之一:

    /mydocs=[个人文件夹]

    然后使用字典键 [arg] 来获取实际解析的值(这就是 [] 的意思)。

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 2011-10-26
      • 2011-04-26
      • 2018-08-19
      • 2013-11-15
      • 2012-03-14
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      相关资源
      最近更新 更多