rendered paste body UpdateLocations:
ReadINIStr $LASTDRIVE "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastDrive"
${GetRoot} $EXEDIR $CURRENTDRIVE
StrCmp $LASTDRIVE $CURRENTDRIVE CheckMusicExists
IfFileExists "$PROGRAMDIRECTORY\config.xml" "" CheckMusicExists
${ReplaceInFile} `$PROGRAMDIRECTORY\config.xml` `>$LASTDRIVE\` `>$CURRENTDRIVE\`
Delete "$PROGRAMDIRECTORY\config.xml.old"
CheckMusicExists:
ReadEnvStr $MUSICDIR "PortableApps.comMusic"
StrCmp $MUSICDIR "$CURRENTDRIVE\Documents\Music" UpdateOutDir
IfFileExists "$CURRENTDRIVE\Documents\Music" UpdateOutDir GetAppLanguage
UpdateOutDir:
ReadINIStr $0 "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "FirstRun"
StrCmp $0 "false" GetAppLanguage
${ConfigWrite} `$PROGRAMDIRECTORY\config.xml` ` <value name="EncoderOutDir">` `$MUSICDIR</value>` $R0
${ConfigWrite} `$PROGRAMDIRECTORY\config.xml` ` <value name="PlaylistOutDir">` `$MUSICDIR</value>` $R0
WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "FirstRun" "false"
GetAppLanguage:
ReadEnvStr $APPLANGUAGE "PortableApps.comLocaleglibc"
StrCmp $APPLANGUAGE "" StoreCurrentDriveLetter ;if not set, move on
StrCmp $APPLANGUAGE "en_US" "" GetCurrentLanguage
StrCpy $APPLANGUAGE "internal"
GetCurrentLanguage:
${ConfigRead} `$PROGRAMDIRECTORY\config.xml` ` <value name="Language">` $0
StrCmp `$APPLANGUAGE</value>` $0 StoreCurrentDriveLetter ;if the same, move on
StrCmp $APPLANGUAGE "internal" SetAppLanguage ;english is built in, so skip locale file check
IfFileExists "$PROGRAMDIRECTORY\lang\bonkenc_$APPLANGUAGE.xml\*.*" SetAppLanguage StoreCurrentDriveletter
SetAppLanguage:
${ConfigWrite} `$PROGRAMDIRECTORY\config.xml` ` <value name="Language">` `bonkenc_$APPLANGUAGE.xml</value>` $R0
StoreCurrentDriveLetter:
WriteINIStr "$SETTINGSDIRECTORY\BonkEncPortableSettings.ini" "BonkEncPortableSettings" "LastDriveLetter" "$0"