Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


MsiGetProperty(); Retruns a blank value

I am trying to read the Installation directory from a Visual Studio Installer from a C++ DLL.

So i created a VS Installer and a Custom Action that calls a C++ DLL. The DLL does get called but the but the MsiGetProperty(); always returns no value.

I am really stuck for ideas here. I have been trying to get this to work for 2days and failed to figure out the correct way of doing this.

I need some help, can anyone point me in the right direction.

My end goal here is to get hold of the install directory selected by the user so I can create a scheduled task on the command line. That will run the program once a week.

Here the class in question:

Thanks for any help or ideas guys, i really am so stuck. I just don


  • codeforfuncodeforfun Member Posts: 3
    I am sure it has something to do MsiGetProperty(hInstall, TEXT("targ"), TEXT(""), &cchValueBuf);

    When i call "MsiGetProperty(hInstall, TEXT("targ"), TEXT(""), &cchValueBuf);" i get a return value of "ERROR_MORE_DATA"

    So i called MsiGetProperty(hInstall, TEXT("targ"), szValueBuf, &cchValueBuf); But this time i set the size of the szValueBuf buffer to the returned value in cchValueBuf. But this value is a 0. The function did return ERROR_SUCCESS this time though.

    Does that mean its not finding the "Custom Action Data" i set in the "Custom Action Editor", the value i set is:

    I am using C++ Visual Studio 2010

    Also a point worth noting i set "InstallerClass=False" because the application would not compile. Would this effect the Custom Action Data being send/received

    Has anyone else managed to achieve a CustomActionData with C++ and the VS Installer.

Sign In or Register to comment.