On Tuesday, 26 April 2016 at 22:57:36 UTC, Jesse Phillips wrote:

typedef enum tagINSTALLMESSAGE
{
// 12 others ...
        INSTALLMESSAGE_INITIALIZE     ,
        INSTALLMESSAGE_TERMINATE      ,
        INSTALLMESSAGE_SHOWDIALOG     ,
#if (_WIN32_MSI >= 500)
        INSTALLMESSAGE_PERFORMANCE    ,
#endif // (_WIN32_MSI >= 500)
#if (_WIN32_MSI >= 400)
        INSTALLMESSAGE_RMFILESINUSE   ,
#endif // (_WIN32_MSI >= 400)
#if (_WIN32_MSI >= 450)
        INSTALLMESSAGE_INSTALLSTART   ,
        INSTALLMESSAGE_INSTALLEND     ,
#endif // (_WIN32_MSI >= 450)
} INSTALLMESSAGE;

enum _WIN32_MSI = 450;

mixin((int _WIN32_MSI = _WIN32_MSI) {
    string r ="enum INSTALLMESSAGE {
        INSTALLMESSAGE_INITIALIZE,
        INSTALLMESSAGE_TERMINATE,
        INSTALLMESSAGE_SHOWDIALOG,";
    if (_WIN32_MSI >= 500)
        r ~= "INSTALLMESSAGE_PERFORMANCE    ,";
    if (_WIN32_MSI >= 400)
        r ~= "INSTALLMESSAGE_RMFILESINUSE   ,";
    if (_WIN32_MSI >= 450) {
        r ~= "INSTALLMESSAGE_INSTALLSTART   ,
              INSTALLMESSAGE_INSTALLEND     ,";
    }
    return r ~ "}";
}());


))) // sardonic laugh, which is not part of the source



Reply via email to