Bentley View
From WPKG | Open Source Software Deployment and Distribution
Bentley View v8i (CAD-Viewer (dgn, dxf, dwg) from Bentley)
<package
id="bentleyview"
name="Bentley View v8i"
revision="%version%"
priority="0">
<variable name="version" value="08.11.07.446" />
<check type="uninstall" condition="exists" path="Bentley View V8i (SELECTseries 2) %version%" />
<!-- instead of their PreRequisites-Packages -->
<depends package-id="dotnet35" />
<depends package-id="directx" />
<depends package-id="xmlparser6" />
<depends package-id="vba" />
<check type="uninstall" condition="exists" path="Bentley View" />
<!-- Bentley wants their Prerequisite Package installed. we cheat with this registry entry -->
<install cmd='REG ADD HKLM\SOFTWARE\Bentley\XM_Prerequisite\081107xx /v InstalledVersion /t REG_SZ /d 08110704' />
<install cmd='msiexec /qb /i "%FREESOFTWARE%\bentley\view\view.msi"' />
<upgrade cmd='msiexec /qb /i "%FREESOFTWARE%\bentley\view\view.msi"' />
<remove cmd='msiexec /qn /x{7BBF8257-2F5F-479D-B135-39BCA6C43FFB}' />
</package>
And the dependencies (just vba and xmlparser, i think the rest is already posted here in the wiki...)
you can find directx here and .NET here
Microsoft Visual Basic for Applications
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="vba"
name="Microsoft Microsoft Visual Basic for Applications"
revision="6"
priority="0">
<check type="logical" condition="and">
<check type="uninstall" condition="exists" path="Visual Basic for Applications (R) Core" />
<check type="uninstall" condition="exists" path="Visual Basic for Applications (R) Core - German" />
</check>
<!-- MS Visual Basic for Applications Core -->
<install cmd='msiexec /i "%SOFTWARE%\ms\vba\vbaof11.msi" /qb' />
<!-- MS Visual Basic for Applications localized (german) -->
<install cmd='msiexec /i "%SOFTWARE%\ms\vba\VBAOF11I.MSI" /qb' />
<!-- MS Visual Basic for Applications Core -->
<upgrade cmd='msiexec /i "%SOFTWARE%\ms\vba\vbaof11.msi" /qb' />
<!-- MS Visual Basic for Applications localized (german)-->
<upgrade cmd='msiexec /i "%SOFTWARE%\ms\vba\VBAOF11I.MSI" /qb' />
<!-- MS Visual Basic for Applications Core -->
<remove cmd='msiexec.exe /q /x{FB97C283-1F3C-42D4-AE01-ADC1DC12F774}' />
<!-- MS Visual Basic for Applications localized (german) -->
<remove cmd='msiexec.exe /q /x{57F5CC1D-2E00-4008-8CEC-EFE61B2E58AE}' />
</package>
</packages>
Microsoft XML Parser 6
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="xmlparser6"
name="Microsoft XML Parser (MSXML) 6 SP1"
revision="6"
priority="0">
<check type="uninstall" condition="exists" path="MSXML 6.0 Parser" />
<install cmd='msiexec /i "%SOFTWARE%\ms\xmlparser\msxml6_x86.msi" /qb' />
<upgrade cmd='msiexec /i "%SOFTWARE%\ms\xmlparser\msxml6_x86.msi" /qb' />
<remove cmd='msiexec.exe /q /x{909B62B0-8ACA-4061-A83B-09CAEF609619}' />
</package>
</packages>