社区
C++ Builder
帖子详情
服务程序或者dll,放在程序目录和system32目录下有什么区别
int64
2010-07-12 11:46:53
程序需要一个服务程序和若干个dll,在制作安装程序的时候,
将服务程序和dll放在程序的目录,或者放到系统system32目录,这2个位置有什么区别?
对程序运行有什么影响?
...全文
207
10
打赏
收藏
服务程序或者dll,放在程序目录和system32目录下有什么区别
程序需要一个服务程序和若干个dll,在制作安装程序的时候, 将服务程序和dll放在程序的目录,或者放到系统system32目录,这2个位置有什么区别? 对程序运行有什么影响?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sczyq
2010-07-14
打赏
举报
回复
现在的硬盘大大的,没必要放到 Windows 等共享目录里,而放到应用程序所在的当前目录,优点是便于维护、升级、卸载等。缺点只是占用硬盘空间。而现在的硬盘大大的,因此缺点就微不足道,就没必要放到 Windows 等共享目录里。
sue3140
2010-07-14
打赏
举报
回复
good!~ 好贴。。解答了我现在的疑问 哈哈
Wade_Song
2010-07-14
打赏
举报
回复
学习了。。。现在经常使用Dll。。。
xjq2003
2010-07-12
打赏
举报
回复
假如lpPathName参数指定了一个路径,SetDllDirectory函数支持一个预备的搜索顺序。这个预备的搜索顺序如下:
1. 应用程序所在的路径
2. lpPathName参数指定的目录
3. Windows SYSTEM目录。通过调用GetSystemDirectory函数可以获取这个目录的路径。
4. 16位系统的目录。并没有函数可以获取这个目录的路径,但是它会被查找。
5. Windows目录。通过调用GetWindowsDirectory函数可以获取这个目录的路径。
6. PATH环境变量指定的路径。请注意,这并不包括每个应用程序的应用程序路径注册表项中指定。在应用程序路径注册表项的键值并不作为DLL的搜索路径。
如果lpPathName参数为一个空字符串,当前目录将会从搜索顺序中删除。
SetDllDirectory 有效地禁用安全DLL搜索模式,而在搜索指定的目录路径。要恢复安全 DLL搜索模式的SafeDllSearchMode注册表值的基础和恢复当前目录到搜索顺序,调用 lpPathName的参数值为NULL的SetDllDirectory函数。
ccrun.com
2010-07-12
打赏
举报
回复
如果没有刻意设置NTFS文件权限的话,没什么影响.
int64
2010-07-12
打赏
举报
回复
对于不同的WINDOWS用户,会不会有权限的区别?
ccrun.com
2010-07-12
打赏
举报
回复
没什么大的区别,只是不过system32目录默认存在于path环境变量中.
YeBinYe
2010-07-12
打赏
举报
回复
应用程序在调用这些函数的时候,会按照如下的顺序查找这些动态连接库文件:
(1)应用程序所在的当前目录
(2)Windows目录
(3)Windows系统目录
(4)系统环境变量指示的目录
如果在这些目录中找不到DLL文件,程序就会出现运行异常。所以,为了保证程序的正常运行,用户最好把需要的特定动态连接库放在程序所在的目录中,这样也可以避免各种潜在的覆盖冲突。
___NULL
2010-07-12
打赏
举报
回复
没太大区别
放 SYSTEM32 所有程序都可以直接读取(有环境变量设置)
放程序自己的目录,除非其他程序指定目录,否则无法自己找到
或者可以这么说 SYSTEM32 是为了 DLL 之类的文件能共享而设立的
我不懂电脑
2010-07-12
打赏
举报
回复
放在system目录可以共享给其他程序使用,放在程序的目录一般就这个程序用,不需要共享。
msvcr110d.
dll
在别的机子上调试本人写的
程序
时,出现丢失msvcr110d.
dll
的问题,问题在于本人机子上装有VS11而别的没有,故上传该文件以便能使
程序
运行.该文件
放在
windows->
syste
m32
文件夹下.这是32位的,如果需要64位的,自己去网上下来.
C#开发奇技淫巧三:把
dll
放在
不同的
目录
让你的
程序
更整洁
C#开发奇技淫巧三:把
dll
放在
不同的
目录
让你的
程序
更整洁 系列文章 C#开发奇技淫巧一:调试windows系统服务 C#开发奇技淫巧二:根据
dll
文件加载C++或者Delphi插件 C#开发奇技淫巧三:把
dll
放在
不同的
目录
让你的
程序
更整洁
程序
目录
的整理 想必C#的开发者都遇到过这个问题,引用的
dll
都
放在
根
目录
下,随着项目的日益增大,根
目录
下充满了各种各样的
dll
,非常的不美观。 如果能够把
dll
按照想要的
目录
来存放,那么系统就美观多了,以下是我常用的
程序
各文件的分布: 【3rdLibs
C#动态加载任意位置
DLL
程序
集,让
DLL
与主
程序
不在同一
目录
C#动态加载任意位置
DLL
程序
集,实现
DLL
与主
程序
不在同一
目录
。 [文 / 张赐荣] 随着.NET项目规模的逐步扩大,项目引用的
DLL
越来越多。默认情况下,所有这些
DLL
都需要与主
程序
放在
同一
目录
中。如果有更多
DLL
,主
程序
的
目录
就会显得非常混乱。那么,有没有办法将
DLL
放入其他
目录
并正确加载?答案是肯定的,即使用AppDomain的assemblyresolve事件。 本文主要解决C#的
DLL
和主
程序
不
放在
一起,会引发找不到
DLL
的异常。 任何位置的
DLL
程序
集都可以通过“AppDomain.Cur
Windows 64位系统
Syste
m32
目录
和SysWOW64
目录
的
区别
引用自:什么是SysWow64 结论 在32位操作系统的Windows文件夹中,
SYSTE
M和
SYSTE
M32
两个文件夹,分别用来存放16位和32位的
DLL
文件。 在64位操作系统的Windows文件夹中,
Syste
m32
和SysWOW64两个文件夹,分别用来存放64位和32位的
DLL
文件。 背景 WOW64的全称是32bit Windows On 64bit Windows,即运行在64位系统上的32位
程序
。 由于很多应用
程序
内部写死了C:\Windows\
Syste
m32
的引用路径,所.
Windows动态链接库与静态库和
Syste
m32
与SysWOW64
目录
的
区别
一、静态库(lib) ①Win32
程序
不能链接64位静态库; ②Debug下可以链接Release版的静态库,反之亦然; 二、动态链接库(
dll
) ①32位
程序
依赖32位
dll
,
dll
文件可以
放在
“C:\Windows”
目录
下,也可以
放在
“C:\Windows\SysWOW64”
目录
,但不能
放在
“C:\Windows\
Syste
m32
”
目录
; ②64位
程序
依赖64位
dll
,
dll
文件可以
放在
“C:...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章