作为穷人安装的一部分(在Windows7上),我需要从.bat文件注册一个DLL。我为用户提供一组构成应用程序的文件,告诉他们将它们复制到某个(任何)目录,然后,作为安装的第一部分,告诉他们执行我的register.bat文件,该文件调用regsvr32适当的DLL(s)此操作失败并出现0x80004005(权限)错误。然后我尝试以管理员身份运行.bat文件。这不起作用,因为它在\windows\system32中打开命令提示符,这不是要注册的DLL所在的位置。因为我不知道用户将register.bat文件放在哪里,所以我无法将DLL文件的路径放在.bat文件中。有什么想法吗?
我面临一个隐式链接的dll问题。我有一个用C++编写的应用程序,它隐式链接到dll。经过特定次数的迭代后,dll函数无法按预期工作。我想重新加载这个dll,以便新加载的dll正常工作。问题是由于dll隐式链接到应用程序,我无法在运行时重新加载dll。有什么办法可以让隐式链接的dll再次重新加载?提前致谢。 最佳答案 您不能强制重新加载隐式链接的DLL。您将需要使用显式链接。 关于c++-如何重新加载隐式链接的dll,我们在StackOverflow上找到一个类似的问题:
我最近下载并安装了VisualStudio2012RC并用它制作了一个程序。但是,如果我尝试在另一台计算机上运行编译后的二进制文件,我会收到一条错误消息Theprogramcan'tstartbecauseMSVCP110D.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.我的电脑上没有错误。我假设是因为VisualStudio为我安装了该文件。如何编译该程序,使其在没有该DLL文件的计算机上运行?我发现(如果我错了请纠正我)这个DLL文件是.NETFramework4或4.5Beta的一部分
你好;我有一个窗口服务。我想通过批处理文件(.bat文件)启动我的Windows服务。我成功了。我的服务开始得很好。但4-5秒后自行停止。4-5秒后不工作。如果我查看WindowsServer2008上的事件日志,发生错误。我的错误如下。我怎么解决这个问题?Faultingapplicationname:MyProject.WindowsService.exe,version:1.0.0.0,timestamp:0x4ffec57cFaultingmodulename:clr.dll,version:4.0.30319.269,timestamp:0x4ee9ae83Exception
我能够使用rundll32.exe运行一个dll。现在我想将它作为Windows服务运行,但它似乎没有启动并且超时。我不确定如何传递参数。尝试一些类似..sc.execreateservicebinPath="c:\windows\system32\rundll32.exe-test.dll-Main"尝试来自的建议creatingaservicewithsc.exe;howtopassincontextparameters但它似乎不起作用。有什么建议吗?谢谢,卡尔提克 最佳答案 rundll32.exe不能充当服务!你需要像srv
我有一个用于合规性场景的DLL(其细节无关紧要)。重要的一点是主要可执行文件必须显示DLL版本号。我的解决方案是DLL有一个函数来返回它自己的版本-即从它自己的版本资源中获取它并将它作为字符串返回。我的评论者说主程序应该计算出DLL版本号。他甚至给了我一些代码来获取DLL模块句柄并使用它提取版本。我的问题是,哪个设计更好,为什么?我的感觉是,使用OO原则,我应该向DLL询问其版本号。换一种方式意味着主程序需要知道版本信息是如何存储的,因此与实现更紧密地耦合。请注意,我确切地知道如何从DLL中提取版本信息。我的问题是关于执行此操作的代码的最佳位置。 最佳答案
我想要的是:给定一个名称数组,例如dependency1,dependency2,..,dependencyN:将“_DEP_DIR”附加到每个名称,形成例如dependency1_DEP_DIR,..,dependencyN_DEP_DIR。(XXX_DEP_DIR预定义为一个变量,指向每个依赖的本地磁盘路径。)调用每个依赖项的特定批处理文件(setup.bat)。我尝试的是:DEP_NAMES=dependency1dependency2dependency3dependency4dependency5dependency6DEP_DIRS=$(foreachname,$(DEP_
我对链接提示很困惑。假设我有一个使用dll的应用程序,但我不想使用它,我想静态链接到一个库并避免对dll的依赖。可能吗? 最佳答案 如果您想要解决问题而不是一堆新问题,不可能不去尝试。(我已经设法使类似的东西工作了几次。一种变体使用MemoryModule并从内存加载,另一种变体使用启发式方法来查找跨段重定位并修复它们以重新分离代码和数据部分。两者都不像您可能会向对链接提示感到困惑的人推荐的东西)。 关于windows-是否可以将DLL转换为LIB文件以避免依赖?,我们在StackOve
例如,一方面,我可以检查如果可以通过为用户建立安全标识符来写入文件,设立受托人,得到一个离散的访问控制列表和然后获取访问掩码最后检查它是否包含FILE_GENERIC_WRITE位。另一方面,我可以调用GetFileAttributes和查看返回值是否==FILE_ATTRIBUTE_READONLY对于后一种情况,如果设置了此属性,我想这意味着我不必为ACL的事情操心。还是我遗漏了其他一些微妙的点?是不是GetFileAttributes返回的是DOS信息,而访问控制列表函数是较新的windowsapi?我应该检查两者吗?干杯,本。 最佳答案
当我遇到vault和vaultclidll时,我正在System32中的dll中跌跌撞撞。我假设这些库使用密码存储,我想知道是否有人有关于这些的更多信息。我试着搜索谷歌,但只能找到一堆“这是病毒吗”和“修复此错误”的网站。我假设这些是C/C++库,因为我尝试在C#项目中添加对它们的引用但没有成功。我想找出这些dll包含哪些方法,以及是否可以使用DllImport和extern从C#中引用它们。 最佳答案 Vaultcmd.exe(及其依赖项vaultcli.dll)是相当于CredentialManager的命令行在控制面板中(在W