#define COMPANY_NAME     "RedHat";
#define  DEBUG_MODE  1 
#define  LOG_FILE_NAME "Install.RHEV-tools.log" 

#define  INSTALL_INTEL_REGKEY  	    "SOFTWARE"^COMPANY_NAME; 

#define  INSTALL_INTEL_REGKEY  	    "SOFTWARE"^COMPANY_NAME; 

#define  INSTALL_INTEL_REGKEY  "SOFTWARE"^COMPANY_NAME;                                                      

#define  INSTALL_INTEL_REGKEY  "SOFTWARE"^COMPANY_NAME;                                                      
#define  INSTALL_INTEL_REGKEY  "SOFTWARE"^COMPANY_NAME;                                                      
#define  REDHAT_ROOT_KEY   "SOFTWARE\\Redhat\\RHEV\\Tools"                                                                                    

#define FULL_BMP_PATH SUPPORTDIR^"horizontal_banner.bmp"  
#define SILENTMODE_INSTALL   1
#define SILENTMODE_UPGRADE  1
#define WDFCOINST19DLLNAME "WdfCoInstaller01009.dll"
BOOL IsForceReboot;                                                            
string FuncName;  
number LOG_FILE_LINE_NUMBER_GLOBAL_VAR;  
number INSTALLER_TIMER_GLOBAL_VAR; 
string LOG_FILE_GLOBAL_VAR,PRE_LOG_FILE_GLOBAL_VAR;
number PRE_LOG_FILE_LINE_NUMBER_GLOBAL_VAR;
BOOL   gSpiceInstall,gNetworkInstall,gAgentInstall,gUsbInstall,gSSOInstall,gViostorInstall; 
BOOL   gSSOUNInstall,gNetworkUNInstall,gUsbUNInstall,gSpiceUNInstall,gAgentUNInstall,gViostorUNInstall;
BOOL   gViostorOldInstalled,gAgentOldVerIsInstalled,gOldVerNetworkIsInstalled,gSSOOldVerIsInstalled,gSpiceOldVerIsInstalled ,gBalloonOldVerIsInstalled,gUsbOldVerIsInstalled;
string gListOfSucssesInstalls,gAgentOldVerString, gSpiceOldVerString,gUsbOldVerString,gNetworkOldVerString, gBalloonOldVerString,gSSOOldVerString; //if guid is indtalled we will show the version .
BOOL   IsUpgrade;
BOOL   gbIsOSXP ,gbIsOSWin2000 ;
BOOL   gbViostorInstalled,gbAgentIsInstalled,gbNetworkIsInstalled,gbSSOIsInstalled,gbSpiceIsInstalled ,gbBalloonIsInstalled,gbUsbIsInstalled;
BOOL   gVioserialInstall,gVioserialOldInstalled,bIntstallVIOSERIAL,gbVioserialInstalled,gVioserialUNInstall;
BOOL   gbShowScreen;
BOOL   gbAgentInstalledOnSilentMode,gbNetworkInstalledOnSilentMode,gbSSOInstalledOnSilentMode,gbSpiceInstalledOnSilentMode ,gbBalloonInstalledOnSilentMode,gbUsbInstalledOnSilentMode;
BOOL   IsSilentMode,gUninst,IsUpdateOnly;
string gVersionMajor, gVersionMinor, gVersionBuild ; 
string SPICE_AGENT_INSTALLER_32,SPICE_AGENT_INSTALLER_32_FULL_PATH,SPICE_AGENT_INSTALLER_64,SPICE_AGENT_INSTALLER_64_FULL_PATH,SPICE_INSTALLER_64,SPICE_INSTALLER_64_FULL_PATH,VIOSTOR_INSTALLER_64,VIOSTOR_INSTALLER_64_FULL_PATH,VIOSCSI_INSTALLER_64,VIOSCSI_INSTALLER_64_FULL_PATH,NETWORK_INSTALLER_64,NETWORK_INSTALLER_64_FULL_PATH,NETWORK_INSTALLER_32 ,AGENT_INSTALLER_32,AGENT_INSTALLER_64,SPICE_INSTALLER_32,USB_INSTALLER_32,QGA_INSTALLER_32,SSO_INSTALLER_32,SSO_INSTALLER_64;  
string VIOSTOR_INSTALLER_32,VIOSTOR_INSTALLER_32_FULL_PATH,VIOSCSI_INSTALLER_32,VIOSCSI_INSTALLER_32_FULL_PATH,NETWORK_INSTALLER_32_FULL_PATH ,AGENT_INSTALLER_32_FULL_PATH,AGENT_INSTALLER_64_FULL_PATH,SPICE_INSTALLER_32_FULL_PATH,USB_INSTALLER_32_FULL_PATH,QGA_INSTALLER_32_FULL_PATH,SSO_INSTALLER_32_FULL_PATH,SSO_INSTALLER_64_FULL_PATH;  
string BALLOON_INSTALLER_32,BALLOON_INSTALLER_32_FULL_PATH,BALLOON_INSTALLER_64,BALLOON_INSTALLER_64_FULL_PATH,VIOSERIAL_INSTALLER_32,VIOSERIAL_INSTALLER_32_FULL_PATH,VIOSERIAL_INSTALLER_64,VIOSERIAL_INSTALLER_64_FULL_PATH;
string OSStr; 
string OSBEHAV_INI;       
BOOL bIntstallBALLOON,bIntstallAgent,bIntstallNetwork,bIntstallSpice,bIntstallSSO,bIntstallUSB,bInstallQemuGA,bIntstallVIOSTOR,bInstallVIOSCSI;

number gbSpiceAgentIsInstalled,gSpiceAgentUNInstall,bIntstallSpiceAgent,gSpiceAgentInstall;
string svSpiceAgentResult;

export prototype WriteToLogPreReqFile(string,number,BOOL);  
export prototype WriteToLogFile(string,number,BOOL);   
export prototype AmIRunningFromLocalDrive();
export prototype RemoveUnWantedEntriesFromPendingFileRenameOperations();
prototype GetInstalledDriver(STRING);
export prototype SaveWdfCoInst();
export prototype RestoreWdfCoInst();