Dism 并从已安装的 Windows 7 64 位中删除“包”

Psy*_*eek 1 windows-7 packages

我正在探索从已安装的 Windows 7 64 位中删除“包”的可能性。当项目从未安装到一起时,很难测试部署的东西。

到目前为止,我的理解是: Microsoft 声称这些“包”以独立且不同的项目捆绑在一起,以确保适当的兼容性以及混合 .dll 安装的互操作性。他们还声称,belotion 系统允许删除程序或系统的更新,将程序或系统恢复到原来的状态。他们还指出,只有删除程序才能完全删除散布在系统中的所有零件。好的,明白了。

目标:只移除一个包裹,很小的步骤,但我什至无法完成最简单和可观察的项目。不幸的是,搜索显示了数百万个基于 Vista 的信息资源和少数特定于 Windows 7 的 64 位信息资源。

方法#1,我尽可能简单地开始

>DISM.exe > C:\packages.txt /online /get-packages
Run Code Online (Sandbox Code Playgroud)

这给了我一个很小的包列表(与 sysprep 列表相比) 下面是这个问题的唯一结果,如包列表中所示。

Package Identity : Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
State : Installed
Release Type : Local Pack
Install Time : 9/21/2011 4:01 AM
Run Code Online (Sandbox Code Playgroud)

该项目的 DISM 日志

2011-10-13 08:34:31, Info                  DISM   DISM Package Manager: PID=3700 Package Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~amd64~~6.1.7601.17514 with CBS state 7(CbsInstallStateInstalled) being mapped to dism state 5(DISM_INSTALL_STATE_INSTALLED) - CDISMPackage::LogInstallStateMapping
Run Code Online (Sandbox Code Playgroud)

这是我卸载该软件包的失败尝试

C:\>dism.exe /image:c:\s2 /remove-package /packagename:Microsoft-Windows-LocalPa
ck-AU-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
Run Code Online (Sandbox Code Playgroud)

这是显示的错误(在我的世界中,此错误表示“您不知道这将采取多少步骤”:-)

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Error: 2

Unable to access the image.
Make sure that the image path and the Windows directory for the image exist and
you have Read permissions on the folder.
Run Code Online (Sandbox Code Playgroud)

问题中没有任何地方,是问“我应该这样做吗”或“这是一个坏主意吗”,请将否定评论限制为使用 MS 打包系统的目标,以某种方式或更好的方式。毫无疑问,我不知道我在做什么,我是这种方法的新手。

免责声明,每次从操作系统中删除项目都有一些后果,我有备份,而且我不怕使用它。目的仅用于测试。

Wil*_*son 5

dism与正在运行的操作系统一起使用,您需要指定/online标志。

尝试这个:

dism /online /remove-package /packagename:Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
Run Code Online (Sandbox Code Playgroud)