win7(64)系统windows/system32/drivers文件夹内的sys文件用c++程序为什么删除不了。
手动删除,dos命令删除都能删除掉。c++程序删除不了,installshield的脚本也删除不了。制作一个bat文件执行dos命令可以删除,c++和installshi...
手动删除,dos命令删除都能删除掉。c++程序删除不了,installshield的脚本也删除不了。制作一个bat文件执行dos命令可以删除,c++和installshield脚本中调用这个bat就删除不了了(测试过xp系统可以删除,不存在程序错误)。应该是权限问题。不知道怎么解决。
一直都是使用administrator用户登陆的。
忘说了,我要实现的是卸载软件时,将驱动的残留文件删除。肯定是要在程序中实现,原来是在c++程序中实现删除的(其他系统是能删除的),软件的安装包制作使用的是installshield。
新追加:不知道还算不算权限问题。在权限问题上查找一些方法,都没好用。后来想起,在运行应用程序时,保存文件到program file文件夹以内时,文件会保存到系统盘根目录下的用户文件夹以内。然后实验用c++程序在windows/system32/drivers文件夹内新建一个sys文件,结果生成在了windows/syswow64/drivers文件夹内。installshield效果应该相同,installshield试验将sys文件直接复制到<windir>\system32\drivers,<winsysdir>\drivers,<winsysdir64>\drivers文件夹内,结果都出现在了windows/syswow64/drivers文件夹内,卸载时倒是能删除。
bat文件可直接删除windows/system32/drivers文件夹下的文件,但是用c++程序调用后删除的就是windows/syswow64/drivers文件夹内的文件。installshield也一样。
我使用了一个特殊方法倒是能删除,但是感觉不正规。使用at命令,添加计划任务。在任务中删除32文件夹下的sys文件。这样就能跳出installshield的框框了。 展开
一直都是使用administrator用户登陆的。
忘说了,我要实现的是卸载软件时,将驱动的残留文件删除。肯定是要在程序中实现,原来是在c++程序中实现删除的(其他系统是能删除的),软件的安装包制作使用的是installshield。
新追加:不知道还算不算权限问题。在权限问题上查找一些方法,都没好用。后来想起,在运行应用程序时,保存文件到program file文件夹以内时,文件会保存到系统盘根目录下的用户文件夹以内。然后实验用c++程序在windows/system32/drivers文件夹内新建一个sys文件,结果生成在了windows/syswow64/drivers文件夹内。installshield效果应该相同,installshield试验将sys文件直接复制到<windir>\system32\drivers,<winsysdir>\drivers,<winsysdir64>\drivers文件夹内,结果都出现在了windows/syswow64/drivers文件夹内,卸载时倒是能删除。
bat文件可直接删除windows/system32/drivers文件夹下的文件,但是用c++程序调用后删除的就是windows/syswow64/drivers文件夹内的文件。installshield也一样。
我使用了一个特殊方法倒是能删除,但是感觉不正规。使用at命令,添加计划任务。在任务中删除32文件夹下的sys文件。这样就能跳出installshield的框框了。 展开
4个回答
展开全部
权限限制很严的,用管理员权限就可以删除,之前权限不够无法操作。
追问
一直使用administrator用户登陆的,而且installshield自身好像能提高权限到administrator,因为卸载驱动的API需要administrator用户才有效。直接在非administrator用户中运行c++程序是卸载不了驱动的。但是整体用installshield打包后,installshield脚本卸载软件接口中指定运行卸载驱动的c++程序,在非administrator用户中卸载软件都能正常卸载掉驱动。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Win7权限限制很严的,自己写的程序你试试用管理员权限就可以删除,之前权限不够无法操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重装系统
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询