Archive: Registration doesn't happen


Registration doesn't happen
I am still struggling a little to learn NSIS. Can anyone help me with this What am I doing wrong. It goes to the 32 bit section on my 32bit machine, but it never registers the dll. I have tried both with and without double quotes but it doesn't seem to make a difference. It works fine if I type the Regasm into a dos box.



${If} ${RunningX64}
DetailPrint "Running on x64"
IfFileExists "$WINDIR\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe" SixtyFourBit
MessageBox MB_OK "Unable to Register"
Abort
SixtyFourBit:
messagebox mb_ok "SixtyFourBit"
ExecWait "$WINDIR\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe /codebase $INSTDIR\${ADDIN_DLL}"
${Else}
DetailPrint "Just Win32"
IfFileExists "$WINDIR\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe" ThirtyTwoBit
MessageBox MB_OK "Unable to Register"
Abort
ThirtyTwoBit:
messagebox mb_ok "ThirtyTwoBit"
ExecWait '"$WINDIR\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /codebase $INSTDIR\${ADDIN_DLL}"' $0
messagebox mb_ok "$0"

${EndIf}

Try:

ExecWait '$WINDIR\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /codebase "$INSTDIR\${ADDIN_DLL}"' $0

Thank you very much. That worked. I had tried it similar to that except I had the "" and '' swapped. So I take it that if you are going to double quote, the "" need to go inside the ''?

Thanks again.


All you have to do is use double quotes around paths that may contain spaces. The quotes around it all just need to contain the entire thing.


Thanks again for your help. I figured it was because of the spaces, and I had tried various locations for the quotes, but either I still had something else failing at the time, or the fact that I had the apostrophe quote around the path and the double quote around it all was what kept it from working.

Anyhow thanks again, it is great for newbies to be able to get help like that.