Seite 1 von 1
Longtime questions
Verfasst: 30 Nov 2013, 03:42
von SisterOfMercy
And... also a few questions which have come up the last few weeks.

How do I run a program for every user? The Winbatch section can not be called with the /AllNtUserProfiles modifier, so it seems.

What is the easiest way to modify one byte of an existing registry key, hex with a lot of values? I am trying to modify the 9th byte of "Settings" under [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2], because I can't find out what the other bloody bytes are used for. I have thought about writing the key to a textfile and modify that file, and read it back into the registry. However, I haven't yet found a way to replace a part of a key this way.

How does everybody work with packages? Does a new version of Firefox get a new package? For instance, do I keep my own version numbering for packages or do I keep the Firefox version numbering and make my own package versions of that release? I can probably do it either way, but there has got to be some sort of best practice among users, and I bet UIB has thought long and hard about what is the best way to handle this.
Can I delete old packages from the server via Samba or are they needed somewhere, for uninstallation of the previous versions perhaps? Does a package with version 1.3-7 use the uninstall of version 1.3-7 or does it use the uninstall of the most recent version?

Does anybody have some experience with AutoCAD deployments? I can of course make an installation/deployment image, but this is still loaded with shite. With AutoCAD 2013 you have to uninstall a load of crap before it's stable. I thought about splitting up the lot into two packages: The basic AutoCAD package, and the package with customisations. This is of course because of the size of the AutoCAD suite. If I only have to deploy a few changes in settings it wouldn't be very smart to reinstall the whole kit and caboodle.
Re: Longtime questions
Verfasst: 29 Dez 2013, 17:21
von d.oertel
Hi,

How do I run a program for every user? The Winbatch section can not be called with the /AllNtUserProfiles modifier, so it seems.
A program started by winbatch runs in the system context. It is not possible to run a program in the context of a user with out the credentials of this user. So for example it is possible in a loginscript because we can 'steal' the credentials of the running user processes and impersonate to this user.

What is the easiest way to modify one byte of an existing registry key, hex with a lot of values? I am trying to modify the 9th byte of "Settings" under [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2], because I can't find out what the other bloody bytes are used for. I have thought about writing the key to a textfile and modify that file, and read it back into the registry. However, I haven't yet found a way to replace a part of a key this way.
I would guess: read the key - split it to a string list - modify one string of the list - link (unsplit) the list to a string - write it back.
Not tested at all .......

How does everybody work with packages? Does a new version of Firefox get a new package? For instance, do I keep my own version numbering for packages or do I keep the Firefox version numbering and make my own package versions of that release? I can probably do it either way, but there has got to be some sort of best practice among users, and I bet UIB has thought long and hard about what is the best way to handle this.
Can I delete old packages from the server via Samba or are they needed somewhere, for uninstallation of the previous versions perhaps? Does a package with version 1.3-7 use the uninstall of version 1.3-7 or does it use the uninstall of the most recent version?
The rules we use:
If you need to have different versions of one software on your server at the same time, you should integrate the version in the product name.
If you normally only need the newest version do not integrate the version in the package name.
The product ( or package name) or more exactly the opsi productId is unique. So installing a new product 'firefox' will always delete an old product 'firefox'. There is no need to unsinatll it. You may do this with the opsi-package-manager -r <productId>.

Does anybody have some experience with AutoCAD deployments? I can of course make an installation/deployment image, but this is still loaded with shite. With AutoCAD 2013 you have to uninstall a load of crap before it's stable. I thought about splitting up the lot into two packages: The basic AutoCAD package, and the package with customisations. This is of course because of the size of the AutoCAD suite. If I only have to deploy a few changes in settings it wouldn't be very smart to reinstall the whole kit and caboodle.
Pesonally not - and I' m not at the office ..
regards
d.oertel
Re: Longtime questions
Verfasst: 16 Jan 2014, 00:28
von SisterOfMercy
d.oertel hat geschrieben:
How does everybody work with packages? Does a new version of Firefox get a new package? For instance, do I keep my own version numbering for packages or do I keep the Firefox version numbering and make my own package versions of that release? I can probably do it either way, but there has got to be some sort of best practice among users, and I bet UIB has thought long and hard about what is the best way to handle this.
Can I delete old packages from the server via Samba or are they needed somewhere, for uninstallation of the previous versions perhaps? Does a package with version 1.3-7 use the uninstall of version 1.3-7 or does it use the uninstall of the most recent version?
The rules we use:
If you need to have different versions of one software on your server at the same time, you should integrate the version in the product name.
If you normally only need the newest version do not integrate the version in the package name.
The product ( or package name) or more exactly the opsi productId is unique. So installing a new product 'firefox' will always delete an old product 'firefox'. There is no need to unsinatll it. You may do this with the opsi-package-manager -r <productId>.
So if I manage two Firefox versions I can make firefox-esr-24 and firefox-esr-17 for example. Or just stick to firefox-esr. Thanks, that makes sense.
However, about the uninstall, if I tell configed to uninstall a package does it use the uninstall of the most recent version, or the uninstall of the version that is installed on that specific client?
I also have lots of old packages in /home/opsiproducts/%package-id%/, can I safely remove them?
Re: Longtime questions
Verfasst: 16 Jan 2014, 00:56
von SisterOfMercy
d.oertel hat geschrieben:
What is the easiest way to modify one byte of an existing registry key, hex with a lot of values? I am trying to modify the 9th byte of "Settings" under [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2], because I can't find out what the other bloody bytes are used for. I have thought about writing the key to a textfile and modify that file, and read it back into the registry. However, I haven't yet found a way to replace a part of a key this way.
I would guess: read the key - split it to a string list - modify one string of the list - link (unsplit) the list to a string - write it back.
Not tested at all .......
Well, I just used a 'hard' value and that worked. But now I need to learn to work with strings for an other registry key:
I want to disable all sound 'enhancements' in windows 7, this involves modifying a variable in a subkey of [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render]
However, the guids beneath this registry key change per device.
I looked at this:
wiki/userspace:find_killtask but I'm not quite getting it.
Code: Alles auswählen
set $list$ = getRegistryKeyList64("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render")
for %s% in $list$ do registry_soundshizzle /64Bit
[registry_soundshizzle]
openkey $list$ + "\" + "%s%" + "FxProperties"
set "{1da5d803-d492-4edd-8c23-e0c0ffee7f0e},5" = REG_DWORD:00000001
Something like this? There must be someone around who is a lot more proficient with string manipulation.

Re: Longtime questions
Verfasst: 16 Jan 2014, 13:58
von r.witzel
AutoCAD 2013 (the way I used - not having a multi-seat license):
--------------------------------------------------------------------------------------------
Code: Alles auswählen
[Winbatch_install]
"%ScriptPath%\files\setup.exe" /w /t /qb "%ScriptPath%\files\setup.ini" /Lang de-DE /c ACADLT: INSTALLDIR="%ProgramFiles%\Autodesk\AutoCAD LT 2013\" InstallLevel=3 ADSK_EULA_STATUS=#0 ALLUSERS=1 ADSK_DESKTOPSHORTCUT_1=$prop_create_desktop_shortcut$ $prop_serial_prefix$ $prop_serial_number$ $prop_serial_product_key$
[Winbatch_uninstall]
msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress
REM -------------------------------------------------------------------------------------------------------------------
msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress
REM ------------------------------------------------------------------------------------------------------------------
msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2013\ILB\BaseImageLibrary2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2013\CM\MaterialLibrary2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
AutoCAD 2014 (the way I used - not having a multi-seat license):
--------------------------------------------------------------------------------------------
Code: Alles auswählen
[Winbatch_install]
"%ScriptPath%\files\setup.exe" /w /t /qb "%ScriptPath%\files\setup.ini" /Lang de-DE /c ACADLT: INSTALLDIR="%ProgramFiles%\Autodesk\AutoCAD LT 2014\" InstallLevel=3 ADSK_EULA_STATUS=#0 ALLUSERS=1 ADSK_DESKTOPSHORTCUT_1=$prop_create_desktop_shortcut$ $prop_serial_prefix$ $prop_serial_number$ $prop_serial_product_key$
[Winbatch_uninstall]
msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress
Re: Longtime questions
Verfasst: 17 Jan 2014, 10:44
von bobzbobz
Hi
r.witzel would you mind sharing your entire scripts either on the OPSI-wiki or PM?
I am having some trouble installing programs from Autodesk.
Regards,
Soren
Re: Longtime questions
Verfasst: 17 Jan 2014, 12:11
von SisterOfMercy
r.witzel hat geschrieben:AutoCAD 2013 (the way I used - not having a multi-seat license):
Have you first made a deployment with AutoCAD and copied that, or is this just with the unpackaged installer?
You might want to remove the content service, and all excessive stuff after installation. AutoCAD is often much more stable.
I also use this, currenty a .reg file:
Code: Alles auswählen
[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B001:409\InfoCenter]
"InfoCenterOn"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409\CadManagerControl\CommunicationCenter]
"EnableCommunicationCenter"=dword:00000000
"MaintenancePatchNotificationOption"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409\CadManagerControl\DesignCenter]
"EnableDesignCenter"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409\CadManagerControl\Infocenter]
"LiveUpdateID"=dword:00000000
"EnableSearchLocations"=dword:00000000
"EnableLiveUpdates"=dword:00000000
"EnableCADConnecting"=dword:00000000
"InfoCenterStyle"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409\CadManagerControl\SubscriptionCenter]
"EnableSubscriptionCenter"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\MC3]
"MC3Enabled"=dword:00000000
Re: Longtime questions
Verfasst: 23 Jan 2014, 11:14
von r.witzel
r.witzel would you mind sharing your entire scripts either on the OPSI-wiki or PM?
I don't mind - just didn't see the new post.
I'll publish it later in the day (and as soon as I figured out how to use wiki.
Have you first made a deployment with AutoCAD and copied that, or is this just with the unpackaged installer?
I tried to create a deployment package but the installer wouldn't let me when I couldn't provide a volume-license.
So I used the AutoCAD DVD and copied everything from it.
I'll update this post as soon as I uploaded my script(s).
UPDATE:
wiki/userspace:autodesk_autocad_lt_2014_x86_x64
Re: Longtime questions
Verfasst: 30 Jan 2014, 00:11
von SisterOfMercy
r.witzel hat geschrieben:I tried to create a deployment package but the installer wouldn't let me when I couldn't provide a volume-license.
So I used the AutoCAD DVD and copied everything from it.
I'm going to do it the same way as you. The deployment can help, but it is not really necessary. It creates an .msi transform (.mst) of acad.msi with license data and installation options.
I edited the setup.ini and removed a lot of nonsense, so it does not install .net4, .net2, directx, materials library, content service, cloud sync and design review.
AutoCAD 2013 seems to work without installing .net2, and not installing all that other shite makes it probably a lot more stable. There are a lot of problems with the information center and other stuff like that. It can make AutoCAD hang on startup, or crash. The .net4 and directx will be made a dependency in OPSI, but no need to install it again when it is already installed. That is what the directx does, it installs files that are already included in the DirectX 9 runtime june 2010 redistributable.
BTW, an interesting blog about Autodesk products:
http://upandready.typepad.com/up_and_ready/ Some problems are caused by really stupid things. They are starting to look like microsoft. Well, at least microsoft programs are MULTITHREADED! Yes, AutoCAD still is single threaded, and will continue to be for a while.