here is my package xml .. have it to remove and lock the uninstall option from users.
<?xml version="1.0" encoding="utf-8"?>
<Package>
<Name>Greenshot</Name>
<Description>1.2.8.12 (11.23.15)</Description>
<ShutdownOption>0</ShutdownOption>
<ShutdownTime>0</ShutdownTime>
<MaxDuration>900</MaxDuration>
<Rescan>True</Rescan>
<RunMode>-1</RunMode>
<Steps>
<Step>
<Nr>1</Nr>
<Name>Check if Installed</Name>
<Type>5</Type>
<ReturnCodes></ReturnCodes>
<Success>2</Success>
<Failure>4</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command></Command>
<EditMode>False</EditMode>
<Conditions>
<Condition>
<Type>1</Type>
<SpecOne>C:\Program Files\Greenshot</SpecOne>
<SpecTwo>Greenshot.exe</SpecTwo>
<Operator>1</Operator>
<Value></Value>
</Condition>
</Conditions>
</Step>
<Step>
<Nr>2</Nr>
<Name>Upgrade</Name>
<Type>5</Type>
<ReturnCodes></ReturnCodes>
<Success>3</Success>
<Failure>-2</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command></Command>
<EditMode>False</EditMode>
<Conditions>
<Condition>
<Type>1</Type>
<SpecOne>C:\Program Files\Greenshot</SpecOne>
<SpecTwo>greenshot.exe</SpecTwo>
<Operator>9</Operator>
<Value>1.2.8.12</Value>
</Condition>
<Condition>
<Type>1</Type>
<SpecOne>C:\Program Files\Greenshot</SpecOne>
<SpecTwo>greenshot.exe</SpecTwo>
<Operator>1</Operator>
<Value></Value>
</Condition>
</Conditions>
</Step>
<Step>
<Nr>3</Nr>
<Name>Terminate Greenshot.exe</Name>
<Type>3</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path>greenshot.exe</Path>
<Parameters>/f /t</Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>taskkill /im greenshot.exe /f /t</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>4</Nr>
<Name>Install Greenshot</Name>
<Type>1</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path>{PackageShare}\Installers\greenshot\greenshot_setup.exe</Path>
<Parameters>/VERYSILENT /NOCANCEL /SUPPRESSMSGBOXES /LANG=English /NORESTART /SP-</Parameters>
<MSIParameters>/i /qn /norestart</MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>"{PackageShare}\Installers\greenshot\greenshot_setup.exe" /VERYSILENT /NOCANCEL /SUPPRESSMSGBOXES /LANG=English /NORESTART /SP-</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>5</Nr>
<Name>wait 5</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>timeout /t 5 /nobreak</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>6</Nr>
<Name>Remove uninstall icon</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>for /r "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Greenshot" %d in (UNINST~1.LNK) do @if exist "%d" del /q /f "%d"</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>7</Nr>
<Name>wait 5</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>timeout /t 5 /nobreak</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>8</Nr>
<Name>Remove Uninstall Program</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>for /r "C:\Program Files\Greenshot" %d in (unins000.exe) do @if exist "%d" del /q /f "%d"</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>9</Nr>
<Name>wait 5</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>timeout /t 5 /nobreak</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>10</Nr>
<Name>Lock Control Pannel Ad_Remove</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-1</Success>
<Failure>-1</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Greenshot_is1" /v "NoModify" /t REG_DWORD /d "1" /f && Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Greenshot_is1" /v "NoRemove" /t REG_DWORD /d "1" /f && Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Greenshot_is1" /v "NoRepair" /t REG_DWORD /d "1" /f</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
<Step>
<Nr>11</Nr>
<Name>Enable Auto-Start</Name>
<Type>2</Type>
<ReturnCodes>0,1641,3010</ReturnCodes>
<Success>-2</Success>
<Failure>-3</Failure>
<Path></Path>
<Parameters></Parameters>
<MSIParameters></MSIParameters>
<MSIName></MSIName>
<MSIVersion></MSIVersion>
<Command>Reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Greenshot" /t REG_SZ /d "C:\Program Files\Greenshot\Greenshot.exe" /f</Command>
<EditMode>False</EditMode>
<Conditions />
</Step>
</Steps>
<SoftwareVersion>6013</SoftwareVersion>
</Package>