我有一个 Electron 应用程序,我希望默认安装路径是 D:(如果存在),而不是 C:
我当前的 installer.nsh 文件是:
Section
System::Call 'kernel32::GetFileAttributes(t "D:\")i .r0'
IntCmp $0 -1 NoDInstalled DriveDInstalled
NoDInstalled:
StrCpy $INSTDIR "$PROGRAMFILES\"
Goto ContinueInstallation
DriveDInstalled:
StrCpy $INSTDIR "D:\"
Goto ContinueInstallation
ContinueInstallation:
SetOutPath $INSTDIR
SectionEnd
我的电脑连接了一个 D: 外部驱动器,默认仍然是 C:
希望得到一些帮助!
Section
中。IntCmp
提供3个跳转标签。$PROGRAMFILES
!macro customInit
System::Call 'kernel32::GetFileAttributes(t "D:\")i .r0'
${If} $0 <> -1
StrCpy $INSTDIR "D:\"
${Else}
StrCpy $INSTDIR "$PROGRAMFILES\$(^Name)"
${EndIf}
!macroend
在真正的 NSIS 中你只会
Function .onInit
!insertmacro customInit
FunctionEnd
但是由于您使用的是电子,我不知道您实际将该宏放在哪里,文档不清楚它是在 installer.nsh 还是其他地方。