diff --git a/omaha_request_action.cc b/omaha_request_action.cc
index 0142172..2edf8c0 100644
--- a/omaha_request_action.cc
+++ b/omaha_request_action.cc
@@ -402,6 +402,7 @@
       .id = params->GetAppId(),
       .version = params->app_version(),
       .product_components = params->product_components()};
+  // TODO(xiaochu): send update check flag only when operation is update.
   string app_xml = GetAppXml(event,
                              params,
                              product_app,
@@ -424,6 +425,21 @@
                          install_date_in_days,
                          system_state);
   }
+  // Create APP ID according to |dlc_id| (sticking the current AppID to the DLC
+  // ID with an underscode).
+  for (const auto& dlc_id : params->dlc_ids()) {
+    OmahaAppData dlc_app = {.id = params->GetAppId() + "_" + dlc_id,
+                            .version = params->app_version()};
+    app_xml += GetAppXml(event,
+                         params,
+                         dlc_app,
+                         ping_only,
+                         include_ping,
+                         ping_active_days,
+                         ping_roll_call_days,
+                         install_date_in_days,
+                         system_state);
+  }
 
   string install_source = base::StringPrintf("installsource=\"%s\" ",
       (params->interactive() ? "ondemandupdate" : "scheduler"));
