Actually, I think the textbook way to do:
If Not Exist ($Destination+kixforms.dll)

is:
If Not Exist ($Destination+"kixforms.dll")

The new way frowns [Frown] on vars in strings so thinking along those lines...
Shell $destination+'\regsvr32.exe $destination'+'\kixforms.dll /s'

also should be:
Shell $destination+'\regsvr32.exe '+$destination+'\kixforms.dll /s'

but my preferred way is:
$ShellCMD=$destination+'\regsvr32.exe '+$destination+'\kixforms.dll /s'
Shell $ShellCMD

Hope you don't mind a bit of critiquing.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.