Assignment of INSTALLDIR is not correct in given code. Use MsiSetProperty method.
MsiSetProperty(hMSI, "INSTALLDIR", "E:\Path");