我正在部署gstreamer winbuild和一个应用程序。主要的问题是gstreamer winbuild安装被破坏了。python绑定不起作用,每次初始化gstreamer时都会出现恼人的弹出窗口。所以,我想我可以从lib文件夹中删除"libgstpython-v2.6.dll“来解决这个问题。但是,NSIS不会删除该文件。注意,我确信路径是正确的。
代码如下:
ReadRegStr $0 HKLM 'SOFTWARE\OSSBUILD\GStreamer' InstallDir
ReadRegStr $3 HKLM 'SOFTWARE\Wow6432Node\OSSBUILD\Gstreamer' InstallDir
${If} $0 == ''
${AndIf} $3 == ''
DetailPrint 'The HHPVideoServer plugin depends on Gstreamer, we will need to install the core Gstreamer Components.'
DetailPrint 'Installing Gstreamer.'
ExecWait '"msiexec" /i "$INSTDIR\GStreamer-WinBuilds-GPL-x86-Beta04-0.10.7.msi" /q /norestart' $1
DetailPrint 'Finished installing Gstreamer with error code $1'
ReadRegStr $0 HKLM 'SOFTWARE\OSSBUILD\GStreamer' InstallDir
ReadRegStr $3 HKLM 'SOFTWARE\Wow6432Node\OSSBUILD\Gstreamer' InstallDir
${If} $0 != ''
DetailPrint 'Gstreamer Plugins installed to $0'
DetailPrint 'Deleting $0lib\gstreamer-0.10\libgstpython-v2.6.dll'
DELETE '$0lib\gstreamer-0.10\libgstpython-v2.6.dll''
${ElseIF} $3 != ''
DetailPrint 'Gstreamer Plugins installed to $3'
DetailPrint 'Deleting $3lib\gstreamer-0.10\libgstpython-v2.6.dll'
DELETE '$3lib\gstreamer-0.10\libgstpython-v2.6.dll'
${EndIf}
${Else}
DetailPrint 'Gstreamer already installed.'
${EndIf}delete调用永远不会起作用。如果我手动删除该文件,它会修复gstreamer的错误消息。此外,安装程序是以管理员权限运行的。
发布于 2012-08-25 02:23:28
嗨,你能做个快速测试吗?
在两个位置执行delete调用后,添加以下行:
IfErrors 0 +2
DetailPrint 'There was an error trying to delete the file!'这将让我们知道它是否正在尝试删除文件,但无法删除,或者是否找不到该文件。Delete仅在找到文件时抛出错误,并且无法删除该文件。
如果你最终得到了一个错误,那么下一步就是在你尝试删除DLL时找出哪个程序或服务正在使用它。
https://stackoverflow.com/questions/12103992
复制相似问题