Analizando un poco como es que se almacenaba esta opción en Excel encontré que se guarda en la llave de registro HKCU\Software\Microsoft\Office\12.0\Excel\Options -> Options -> REG_DWORD Datos, la cual tiene los siguientes valores para esta opción en específico.
Habilitado Omitir DDE | 0x00000017 | 00010111 |
Deshabilitado Omitir DDE | 0x00000057 | 01010111 |
El código en NSIS que realiza lo anterior queda de la siguiente forma:
CRCCheck On
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
Name "Excel_DDE"
OutFile "Excel_DDE.exe"
Set Compressor "bzip2"
SilentInstall silent
RequestExecutionLever user
Section "install"
ReadRegDWORD $0 HKCU "Software\Microsoft\Office\12.0\Excel\Options" "Options"
#0x40 = 01000000
IntOp $1 $0 & 0x40
IntCmp $1 0 igual
goto done
igual:
IntOp $1 $0 | ox40
WriteRegDWORD HKCU "Software\Microsoft\Office\12.0\Excel\Options" "Options" $1
done:
SectionEnd
¿por qué NSIS? es la forma más rápida que encuentro para generar un archivo EXE que modifique llaves del registro.
ProcessMonitor
A mi punto de vista una muy buena herramienta que ayuda a ver los archivos, llaves de registro, opciones en línea de comandos, etc. que ocupa un programa. (Fue lo que ocupé para encontrar la llave de registro)
http://technet.microsoft.com/en-us/sysinternals/bb896645
NSIS
http://nsis.sourceforge.net/Main_Page