无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2975|回复: 20
打印 上一主题 下一主题

[求助] 求助大佬们,Win11PE怎么添加msi安装包支持啊,不想用wimbuilder2制作

  [复制链接]
跳转到指定楼层
1#
发表于 2023-8-3 08:05:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我用wimbuilder制作win11pe不太好用,就自己做了一个,想知道怎么让pe支持安装.msi格式的文件,要不然有的程序不能运行,我是要做全能版pe,需要这个,求大佬教教我,谢谢
2#
发表于 2023-8-3 10:03:20 | 只看该作者
所需的文件列表:
\Windows\Installer    ;这是一个目录,内容可以为空,但必须存在,不然在安装时会报错
\Windows\System32\coml2.dll
\Windows\System32\msi.dll
\Windows\System32\msiexec.exe
\Windows\System32\msihnd.dll
\Windows\System32\msimsg.dll
\Windows\System32\msisip.dll
\Windows\System32\en-US\msimsg.dll.mui
\Windows\System32\zh-CN\msiexec.exe.mui
\Windows\System32\zh-CN\msimsg.dll.mui
所需的服务项:msiserver
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\msiserver]

点评

给力!!!  详情 回复 发表于 2023-8-3 15:52
回复

使用道具 举报

3#
发表于 2023-8-3 15:52:06 | 只看该作者
Bluebells 发表于 2023-8-3 10:03
所需的文件列表:
\Windows\Installer    ;这是一个目录,内容可以为空,但必须存在,不然在安装时会报错 ...

给力!!!

点评

确实给力,同求,怎么加 VBS 和 HTA组件,关键是注册表不知怎么提取  详情 回复 发表于 2023-8-3 16:59
回复

使用道具 举报

4#
发表于 2023-8-3 16:59:43 | 只看该作者

确实给力,同求,怎么加  VBS 和 HTA组件,关键是注册表不知怎么提取
回复

使用道具 举报

5#
发表于 2023-8-9 18:21:30 | 只看该作者
Bluebells 发表于 2023-8-3 10:03
所需的文件列表:
\Windows\Installer    ;这是一个目录,内容可以为空,但必须存在,不然在安装时会报错 ...

酷啊
回复

使用道具 举报

6#
发表于 2025-1-4 23:03:17 来自手机 | 只看该作者
学习学习,感谢分享。
回复

使用道具 举报

7#
发表于 2025-1-4 23:20:34 来自手机 | 只看该作者
点赞
回复

使用道具 举报

8#
发表于 2025-1-20 22:30:11 | 只看该作者

谢谢分享
回复

使用道具 举报

9#
发表于 2025-2-19 13:42:09 | 只看该作者
还是不行,提示没有启用installer服务

点评

Windows\System32\msiexec.exe Windows\System32\msi.dll Windows\System32\msihnd.dll Windows\System32\msiltcfg.dll Windows\System32\msimsg.dll Windows\System32\msisip.dll Windows\System32\zh-CN\msi  详情 回复 发表于 2025-3-8 08:45
回复

使用道具 举报

10#
发表于 2025-2-20 16:12:32 | 只看该作者
学习一下,看有没有大佬给我点积分!!好人一生平安!谢谢大佬!
回复

使用道具 举报

11#
发表于 2025-3-8 08:14:37 | 只看该作者
Bluebells 发表于 2023-8-3 10:03
所需的文件列表:
\Windows\Installer    ;这是一个目录,内容可以为空,但必须存在,不然在安装时会报错 ...

谢谢分享
回复

使用道具 举报

12#
发表于 2025-3-8 08:45:45 | 只看该作者
本帖最后由 martin313 于 2025-3-8 09:03 编辑
kcyou 发表于 2025-2-19 13:42
还是不行,提示没有启用installer服务

文件列表清单:--------------------------------------------------------
Windows\Installer
Windows\System32\msiexec.exe
Windows\System32\msi.dll
Windows\System32\msihnd.dll
Windows\System32\msiltcfg.dll
Windows\System32\msimsg.dll
Windows\System32\msisip.dll
Windows\System32\zh-CN\msiexec.exe.mui
Windows\System32\zh-CN\msimsg.dll.mui
Windows\SysWOW64\msiexec.exe
Windows\SysWOW64\msi.dll
Windows\SysWOW64\msihnd.dll
Windows\SysWOW64\msiltcfg.dll
Windows\SysWOW64\msimsg.dll
Windows\SysWOW64\msisip.dll

注册表如下:----------------------------------------------------------------------------------------------------------
call RegCopyEx Services "msiserver"
call RegCopy "HKLM\software\Classes\.msi"
call RegCopy "HKLM\software\Classes\.msp"
call RegCopy "HKLM\software\Classes\IMsiServer"
call RegCopy "HKLM\software\Classes\AppID\{000C101C-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{000C101C-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{000C101D-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{000C103E-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{000C1090-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{000C1094-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\{BE0A9830-2B8B-11D1-A949-0060181EBBAD}"
call RegCopy "HKLM\software\Classes\{000C1092-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C101C-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C101D-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1025-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1033-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1090-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1093-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1095-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1096-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1097-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1098-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C1099-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109A-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109B-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109C-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109D-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109E-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C109F-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C10A0-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Interface\{000C10A1-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\Msi.Package"
call RegCopy "HKLM\software\Classes\Msi.Patch"
call RegCopy "HKLM\software\Classes\WindowsInstaller.Installer"
call RegCopy "HKLM\software\Classes\WindowsInstaller.Message"
call RegCopy "HKLM\software\Microsoft\Cryptography\OID"
call RegCopy "HKLM\software\WOW6432Node\Microsoft\Cryptography\OID"
call RegCopy "HKLM\software\Microsoft\Windows\CurrentVersion\Installer"
call RegCopy "HKLM\software\Classes\TypeLib\{000C1092-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\WOW6432Node\CLSID\{000C103E-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\WOW6432Node\CLSID\{000C1090-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\WOW6432Node\CLSID\{000C1094-0000-0000-C000-000000000046}"
call RegCopy "HKLM\software\Classes\WOW6432Node\CLSID\{fdb00e52-a214-4aa1-8fba-4357bb0072ec}"




点评

谢谢  详情 回复 发表于 2025-3-10 12:44
回复

使用道具 举报

13#
发表于 2025-3-10 12:44:38 | 只看该作者
martin313 发表于 2025-3-8 08:45
文件列表清单:--------------------------------------------------------
Windows\Installer
Windows ...

谢谢
回复

使用道具 举报

14#
发表于 3 天前 | 只看该作者
请教call RegCopy命令怎么用,是在批处理中用吗

点评

这个应该是你要的,因为 call RegCopy明显是外部脚本,我问AI给你生成了一个. # 批处理脚本:复制注册表项从 HKU/SOFTWARE/ 到 HKU/PE/ 以下是一个批处理脚本,用于将指定的注册表项从 HKU/SOFTWARE/ 复制到 H  详情 回复 发表于 前天 20:30
回复

使用道具 举报

15#
发表于 前天 20:30 来自手机 | 只看该作者
kcyou 发表于 2025-3-28 21:09
请教call RegCopy命令怎么用,是在批处理中用吗

这个应该是你要的,因为 call RegCopy明显是外部脚本,我问AI给你生成了一个.

# 批处理脚本:复制注册表项从 HKU/SOFTWARE/ 到 HKU/PE/

以下是一个批处理脚本,用于将指定的注册表项从 HKU/SOFTWARE/ 复制到 HKU/PE/ 对应位置,并处理权限问题:

```batch
@echo off
setlocal enabledelayedexpansion

:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo 此脚本需要以管理员权限运行。
    echo 请右键点击脚本并选择"以管理员身份运行"。
    pause
    exit /b
)

:: 检查参数是否正确
if "%~1"=="" (
    echo 用法: call CopyReg HKU/Software/Classes/.msi
    exit /b
)

:: 获取参数并处理路径
set "source_path=%~1"
set "target_path=!source_path:HKU/SOFTWARE/=HKU/PE/SOFTWARE/!"

:: 显示操作信息
echo 正在将注册表项从 [!source_path!] 复制到 [!target_path!]

:: 获取当前用户的SID
for /f "tokens=2 delims=}" %%a in ('whoami /user /fo list ^| findstr SID') do (
    set "user_sid=%%a"
    set "user_sid=!user_sid:~1!"
)

:: 检查源路径是否存在
reg query "!source_path!" >nul 2>&1
if %errorLevel% neq 0 (
    echo 错误: 源注册表路径 [!source_path!] 不存在
    exit /b
)

:: 导出源注册表项到临时文件
set "temp_file=%temp%\reg_temp.reg"
reg export "!source_path!" "!temp_file!" /y >nul 2>&1
if %errorLevel% neq 0 (
    echo 错误: 无法导出注册表项 [!source_path!]
    exit /b
)

:: 修改临时文件中的路径
powershell -Command "(gc '!temp_file!') -replace 'HKEY_USERS\\SOFTWARE', 'HKEY_USERS\\PE\\SOFTWARE' | Out-File '!temp_file!' -Encoding ascii"

:: 导入到目标路径
reg import "!temp_file!" >nul 2>&1
if %errorLevel% neq 0 (
    echo 错误: 无法导入注册表项到 [!target_path!]
    echo 可能是权限不足,尝试修改目标项权限...
   
    :: 尝试获取目标项的所有权
    set "target_key=!target_path:HKEY_USERS\=!"
    set "target_key=!target_key:\= !"
   
    :: 使用regini修改权限
    set "perm_file=%temp%\reg_perm.txt"
    echo HKEY_USERS\PE [!target_key!]> "!perm_file!"
    echo [!user_sid!]:F >> "!perm_file!"
   
    regini "!perm_file!" >nul 2>&1
   
    :: 再次尝试导入
    reg import "!temp_file!" >nul 2>&1
    if %errorLevel% neq 0 (
        echo 错误: 仍然无法导入注册表项到 [!target_path!]
        del "!temp_file!" >nul 2>&1
        del "!perm_file!" >nul 2>&1
        exit /b
    )
   
    del "!perm_file!" >nul 2>&1
)

:: 清理临时文件
del "!temp_file!" >nul 2>&1

echo 注册表项复制成功: [!source_path!] -> [!target_path!]
endlocal
```

## 使用说明

1. 将此脚本保存为 `CopyReg.bat`
2. 按指定方式调用:`call CopyReg HKU/Software/Classes/.msi`
3. 脚本会自动处理路径转换和权限问题

## 功能说明

1. **权限检查**:确保脚本以管理员权限运行
2. **路径转换**:自动将 `HKU/SOFTWARE/` 转换为 `HKU/PE/SOFTWARE/`
3. **注册表操作**:
   - 检查源路径是否存在
   - 导出源注册表项
   - 修改路径后导入到目标位置
4. **权限处理**:
   - 如果第一次导入失败,会尝试获取目标项的所有权
   - 使用当前用户的SID设置完全控制权限
   - 再次尝试导入

## 注意事项

1. 此脚本需要管理员权限运行
2. 对于某些受保护的注册表项,即使有管理员权限也可能无法修改
3. 脚本会创建临时文件并在完成后自动删除

如果遇到特别受保护的注册表项,可能需要使用更高级的工具如 `psexec` 以 `TrustedInstaller` 身份运行。

点评

THANK YOU!  发表于 昨天 12:49
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-3-31 15:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表