NSIS,防止用户安装软件到不太好的位置(根目录等)
本篇文章属于《518超市播音软件开发日志》系列文章的一部分。我在开发《518超市播音软件》(http://www.)的时候,用NSIS制作的安装包,程序的默认安装路径一般是C:\Program Files\某某软件, 但是有的用户把某某软件去掉了,结果直接安装到Program Files里面了。或者还有一些不合适的位置,因为用户很小白的,所以,软件里,我会检查这个路径,如果路径中不包含我们软件的名字,就追加这个名字到路径。这样如果用户选择 C:\windows下安装,结果会变成 C:\windows\mysoftA这样的路径。如果用户安装到 C:\Program Files这样的路径,结果会变成 C:\Program Fiels\mysoftA 这样的路径。
Section "MainSection" SEC01
System::Call 'shlwapi::StrStrI(t "$INSTDIR", t "518boyin") p.r0'
StrCmp $0 "0" 0 +3
System::Call 'shlwapi::PathCombine(t.r1, t "$INSTDIR", t "518boyin")'
StrCpy $INSTDIR $1