我目前正在使用纯E4 RCP应用程序,并且我使用NSIS制作了一个.exe安装程序。此外,我已通过我的应用程序双击打开某个文件扩展名。使用以下NSIS脚本完成文件关联:
WriteRegStr HKCR ".myext" "" "MyAPP.project"
WriteRegStr HKCR "MyAPP.project" "" \
"MyAPP project file"
WriteRegStr HKCR "MyAPP.project\DefaultIcon" "" \
"$INSTDIR\MyAPP.ico"
WriteRegStr HKCR "MyAPP.project\shell\open\command" "" \
'"$INSTDIR\MyAPP.exe" "%1"'
Call RefreshShellIcons
如果我双击.myext文件,应用程序无法正常启动(值得一提的是我已经在我的代码中处理了此事件的解释),我的意思是看到某些事情已经崩溃。奇怪的是,如果.myext文件与我的应用程序的.exe文件位于同一目录中,或者如果我拖放在桌面上创建的快捷方式,则应用程序就像魅力一样。我认为我使用NSIS脚本做错了文件类型关联。任何帮助将不胜感激。谢谢你。
答案 0 :(得分:0)
听起来我的应用程序依赖于当前/工作目录与应用程序目录相同。
即使您可以修复文件类型注册,也可能有其他地方无法控制工作目录,例如用户创建的新快捷方式以及“打开方式”等其他生成点。
由于这些问题,应用程序不应该依赖于工作目录...