即使以管理员身份运行,在程序文件\ myapp中运行rgsvr32似乎也会失败

时间:2010-10-07 18:48:32

标签: ocx regsvr32

我们的软件需要能够在运行时注册ocx。 OCX位于应用程序的程序文件目录中。我发现如果我手动启动cmd行作为管理员并运行命令一切都很好,但是如果我启动我们的应用程序作为管理员并让应用程序尝试注册ocx,它会失败。我还注意到,当我从构建目录运行时,应用程序能够成功运行regsvr32,大概是因为我拥有构建目录。我仍然需要以管理员身份运行。任何人都有任何想法可能会出错?

谢谢, 布赖恩

1 个答案:

答案 0 :(得分:0)

答案首先是,我很草率,其次是传递给regsvr32的命令行args需要用双引号括起来。它从来没有发生过,因为我编写了我的代码:

string args = "/s " + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) ;

应该看起来像:

string args = "/s " + "\"" + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) + "\"";

希望这有助于其他人:)