我试图在nsis安装程序中向regsvr32注册DLL (目前没有沉默):
Exec '"$SYSDIR\regsvr32.exe" "$SYSDIR\mp4mux.dll"'
Exec '"$SYSDIR_32bit\regsvr32.exe" "$SYSDIR_32bit\mp4mux.dll"'它显示弹出的DLL已注册(32位和64位),并在安装日志中显示下一行:
Execute: "C:\WINDOWS\system32\regsvr32.exe" "C:\WINDOWS\system32\mp4mux.dll"
//for 32-bit is similar但是,当我尝试使用它时,它不起作用(我试图用mp4编解码器创建x264视频,所以它只是显示了一个错误)。如果我将此命令复制到命令行中,则会显示相同的弹出并创建视频。
这种流动会有什么问题呢?我也尝试过RegDLL和rundll32,但都没有成功。
更新:
我找不到为x64注册的DLL,只有x32。C:\WINDOWS\System32\mp4mux.dll的记录不存在,只有SysWow64中的dll记录
发布于 2017-11-01 10:24:44
文件系统重定向将在64位Windows上将32位应用程序从System32 ($SysDir)重定向到SysWow64 .
你可以的
${DisableX64FSRedirection}宏短期禁用重定向$WinDir\Sysnative\regsvr32.exe但是,当您只需要使用库宏时,为什么要经历这样的麻烦:
!include Library.nsh
!define LIBRARY_X64
!insertmacro InstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED c:\myfiles\64\dllname.dll $SYSDIR\dllname.dll $SYSDIRhttps://stackoverflow.com/questions/47050866
复制相似问题