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