   D3DXCreateEffect fails in release mode
  Hi,I am trying to build a c++/DX9 app in release mode. It compiles fine but when I run it, it fails at the following call:HRESULT hr = D3DXCreateEffectFromFile( ddx9->Get(),    m_filename.c_str(),    NULL, NULL, //D3DXSHADER_DEBUG | D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY,0,   NULL, // memory pool&m_asset,&errorMsgs );    if ( hr != S_OK )    if (errorMsgs != 0 && errorMsgs->GetBufferPointer() != 0 )    {   OutputDebugString( (char *)errorMsgs->GetBufferPointer() );    m_log("debug", format("EffectDX9 failure: %s") % ((char *)errorMsgs->GetBufferPointer()) );    }It works fine in debug mode, or in release mode on a system with DirectX SDK installed. It only fails on other system which don't have the SDK installed.As yuo can see, I thought it was because I was using the D3DXSHADER_DEBUG flag, but even with no flags, it fails.Oddly, there is nothing in the errorMsgs buffer (but thats probably due to the lack of D3DXSHADER_DEBUG).Can anyone see why this might be?ThanksSimon   
  Do you have the option to install the SDK on the other machine? IF so, what do you debug runtimes say?What shader model are you using?Do both machines have the same hardware?   ;  No, I cant install the SDK on the other machine. I am trying to simulate distribution anyway.Its not just that machine that it fails on. Any machine without SDK will not be able to build the effect it seems.I am using SM2 which is very within graphical capabilities of both machines, even tho the hardware differs.Heres the effect file itself:// ORTHOfloat2texel = float2(1.0f/1024.0f, 1.0f/768.0f);// TexturetextureDiffuse;// Transformationsfloat4x4World: WORLD;sampler Sampler0 = sampler_state {    texture = (Diffuse);    MIPFILTER = POINT;    MINFILTER = POINT;    MAGFILTER = POINT;    AddressU  = CLAMP;    AddressV  = CLAMP;    AddressW  = CLAMP;};struct VS_OUTPUT{    float4 Position: POSITION;    float2 Tex: TEXCOORD0;};// Move, scale and convert to screen spaceVS_OUTPUT VS( float4 Position : POSITION,    float2 Tex: TEXCOORD0){    VS_OUTPUT OUT= (VS_OUTPUT)1;    OUT.Position= mul( Position, World );    OUT.Position.x = 2.0f * OUT.Position.x - 1.0f;    OUT.Position.y = -2.0f * OUT.Position.y + 1.0f;    //OUT.Position.z= 0.1f    OUT.Tex= Tex;   return OUT;}// simple pixel shaderfloat4 PS(VS_OUTPUT IN) : COLOR{  return tex2D(Sampler0, IN.Tex);// - texel);}  technique RENDER_NORMAL_TECH{    pass P0    {   VertexShader = compile vs_2_0 VS();   PixelShader  = compile ps_2_0 PS();   CullMode = None;   AlphaBlendEnable = true;   SrcBlend = SrcAlpha;   DestBlend = InvSrcAlpha;    //ZEnable = True;   //ZWriteEnable = True;   //ZFunc = LessEqual;    Fillmode = Solid;    }};  I assume you've installed the correct DirectX redist on the machine you're trying to test on?   ;  You would be well within your rights to assume that. I had also assumed the DX redist was up to date.No!It works. Thanks for the non-existant error message :)   