代码之家  ›  专栏  ›  技术社区  ›  Neil Barnwell

奇怪的,可能的_影印_版本,其中两个编辑器显示不同的内容

  •  4
  • Neil Barnwell  · 技术社区  · 15 年前

    我有一些代码正在读取配置文件,但是当我在textpad中打开文件时,我看到的值与我的应用程序不同。我用记事本检查过。记事本与我的应用程序一致,textpad显示了其他内容。

    这是Vista X64商务版。

    知道是什么引起的吗?我已经查过了 Context Menu->Properties->Previous Versions 但它说“没有以前的版本可用”。

    以下是复制的步骤(我不能让它可靠地发生):

    1. 已在程序文件中安装.NET应用程序。
    2. 该应用程序读取配置文件,但正在崩溃。
    3. 我手动在textpad中编辑配置文件。
    4. 这个变化没有生效。
    5. 我打开记事本中的配置文件,看到一些不同的东西。
    6. 尝试在记事本中进行更改并保存,然后收到此错误消息:

    便条簿

    无法为FogBugz\FogBugz>Workingon.exe.config文件创建C:\Program Files(x86)\Daniel Schaffer\Workingon。

    确保路径和文件名正确。

    我不能把内容放在这里,因为它是XML,正由superuser.com编码,但这里有一个指向屏幕广播的链接: http://screencast.com/t/zhERl7mocp4 .

    5 回复  |  直到 15 年前
        1
  •  3
  •   scope_creep    15 年前

    当你安装应用程序时,听起来像你没有管理员权限。有时,当你安装一个没有管理员权限的应用程序时,由于Vista的安全模式,它的行为非常奇怪。我去年也遇到过类似的问题。在我发现它是Vista的安全模型之前,它并不是完全的,但它是奇怪的行为。它将它提升到应用程序/用户安全上下文中,从我所知道的,当我读到它时,我的大脑冻结了,因为它是纯粹的渣滓,从我所看到的几乎是无用的。

    尝试用以管理员身份运行打开textpad(优秀的应用程序),然后编辑配置。看看会发生什么。如果它保持不变,那就是私密问题。如果不起作用,请卸载应用程序,然后以管理员身份安装它。这将使应用程序具有写管理权限。然后编辑配置。看看这样行不行。

    看看这个。您可以使用此处找到的技术提升应用程序以管理员身份运行。 How to elevate an application. . 在重新安装之前,请尝试所有这些操作。

    如果这不起作用,请将您的问题发布到服务器故障。同时将其发布到合适的msdn论坛。

    希望有所帮助。 鲍勃。

        2
  •  2
  •   Josef Pfleger    15 年前

    这很有趣。我猜是一个叫vista的功能 UAC Virtualization (又称数据重定向)在这里工作。它基本上将旧应用程序重定向到 %USERPROFILE%\AppData\VirtualStore\Program Files\... 这样他们就可以在程序的目录中写入文件。

    也许在应用程序和记事本都使用只读模式时,textpad试图以读写模式打开文件? 你可以开火 Process Monitor 去看真正的魔法,和 拜托 让我知道;

        3
  •  1
  •   Rubens Farias    15 年前

    试着从应用程序名中去掉空白字符;我猜这与规范路径构建有关。

        4
  •  0
  •   Mehran ShankarSangoli    15 年前

    尝试将文件复制到另一个路径并重新打开。看看它是否改变了结果。

        5
  •  0
  •   Bahbar    15 年前

    您可以做的一件事是观察这些方法中的每一个最终打开的确切文件。要做到这一点,

    • 发射 Process Monitor 来自SysInternal套件。
    • 仅查找文件操作(取消选择工具栏右侧的注册表操作)
    • 只选择您自己的流程(过滤掉您不关心的所有流程,或者 include 筛选器列表中您自己的进程名)

    您也可以简单地使用文件名的搜索功能,这可能是更快的路径。

    过程监视器帮助我发现了这么多问题,真是不可思议。