|
From: Jeremy F. <jfa...@pi...> - 2009-09-18 02:21:01
|
You missed the wonderful file system redirector. Whichever of the two names you use, Windows forces the 32-bit custom action to use the file in SysWOW64. [WindowsFolder]Sysnative\dism.exe should do what you need. > From: Lian Jiang [mailto:lj...@mi...] > Sent: Friday, September 18, 2009 1:07 AM > > I am trying to use dism.exe in one of my custom actions for > Windows server 2008 R2. > > There are two dism.exe, one in c:\windows\system, the other > in c:\windows\syswow64. No matter which one I use, running > msi fails with this error: > > You cannot service a running 64-bit operating system with a > 32-bit version of DISM. Please use the version of DISM that > corresponds to your computer's architecture. > > Here is my custom action: > <!-- install .NET framework --> > <CustomAction Id="InstallNetFramework" > Property="InstallNetFrameworkDeferred" > Value='"[WindowsFolder]SysWOW64\dism.exe" > /online /enable-feature /featurename:NetFx3' > Execute='immediate' > Return='check'/> > <CustomAction Id="InstallNetFrameworkDeferred" > BinaryKey='WixCA' > DllEntry="CAQuietExec" > Execute="deferred" > Return="check" > Impersonate="no" /> > > Did I miss anything? |