msu文件无法运行_msu文件怎么安装,msu文件安装步骤方法详解

Win10更新的安装默认都是自动进行,不过有时候我们也会遇到安装失败等问题,这时候可能就需要手动安装来解决。对于Windows10离线更新包来说,格式一般是MSU,这个格式该怎么装呢?另外还有CAB格式的安装包,这种文件应该如何安装?

1、MSU

这种格式的安装包双击就可以运行,不过如果使用命令行的方式进行,还可以附加一些参数,以便让安装过程更符合自己的要求。我们以适用于Win10稳定预览版10586.494的KB3172988补丁下载

32位下载

http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/07/windows10.0-kb3172988-x86_842fd790675d1ea1c88982df0005ff9a78755183.msu

64位下载

http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/07/windows10.0-kb3172988-x64_c3f911bf701a57a0423828fec6707b8a0b181453.msu

命令格式如下:

wusa.exe "X:\路径\windows10.0-kb3172988-x64_c3f911bf701a57a0423828fec6707b8a0b181453.msu" /quiet /norestart

其中,wusa.exe是安装命令,引号中的内容是更新包路径(需根据自己实际情况改写),后面/quiet表示静默安装,/norestart表示无需重启(这些参数可酌情使用)。

2、CAB

这种格式多见于语言包,但今天介绍的方法并不适用于语言包的安装,只适用于这种格式的更新包安装,要十分注意这点。用到的工具同样是命令提示符,命令格式如下:

dism /online /add-package /packagepath:"X:\路径\文件名.cab"

这个也很简单,只要把后面的路径填写正确就可以运行,即可安装。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt中使用Windows API函数CreateProcess启动msu文件的步骤如下: 1. 在Qt项目中包含Windows.h头文件。 ```c++ #include <Windows.h> ``` 2. 定义CreateProcess函数需要的参数,包括待启动的msu文件路径和命令行参数。 ```c++ LPTSTR applicationName = L"C:\\Windows\\System32\\wusa.exe"; // msu文件启动程序路径 LPTSTR commandLine = L"C:\\temp\\update.msu /quiet /norestart"; // msu文件路径和命令行参数 LPSECURITY_ATTRIBUTES processAttributes = NULL; LPSECURITY_ATTRIBUTES threadAttributes = NULL; BOOL inheritHandles = FALSE; DWORD creationFlags = 0; LPVOID environment = NULL; LPTSTR currentDirectory = NULL; LPSTARTUPINFO startupInfo = new STARTUPINFO; LPPROCESS_INFORMATION processInformation = new PROCESS_INFORMATION; ZeroMemory(startupInfo, sizeof(STARTUPINFO)); ZeroMemory(processInformation, sizeof(PROCESS_INFORMATION)); startupInfo->cb = sizeof(STARTUPINFO); ``` 3. 调用CreateProcess函数启动msu文件。 ```c++ BOOL success = CreateProcess(applicationName, commandLine, processAttributes, threadAttributes, inheritHandles, creationFlags, environment, currentDirectory, startupInfo, processInformation); if (success) { qDebug() << "Process started"; } else { qDebug() << "Process failed to start"; } ``` 完整代码如下: ```c++ #include <QCoreApplication> #include <QDebug> #include <Windows.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // Define CreateProcess parameters LPTSTR applicationName = L"C:\\Windows\\System32\\wusa.exe"; // msu file launch program path LPTSTR commandLine = L"C:\\temp\\update.msu /quiet /norestart"; // msu file path and command line parameters LPSECURITY_ATTRIBUTES processAttributes = NULL; LPSECURITY_ATTRIBUTES threadAttributes = NULL; BOOL inheritHandles = FALSE; DWORD creationFlags = 0; LPVOID environment = NULL; LPTSTR currentDirectory = NULL; LPSTARTUPINFO startupInfo = new STARTUPINFO; LPPROCESS_INFORMATION processInformation = new PROCESS_INFORMATION; ZeroMemory(startupInfo, sizeof(STARTUPINFO)); ZeroMemory(processInformation, sizeof(PROCESS_INFORMATION)); startupInfo->cb = sizeof(STARTUPINFO); // Start process BOOL success = CreateProcess(applicationName, commandLine, processAttributes, threadAttributes, inheritHandles, creationFlags, environment, currentDirectory, startupInfo, processInformation); if (success) { qDebug() << "Process started"; } else { qDebug() << "Process failed to start"; } // Cleanup delete startupInfo; CloseHandle(processInformation->hProcess); CloseHandle(processInformation->hThread); delete processInformation; return a.exec(); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值