private ModuleDefinitionInfo ImportManifest(string manifest)
        {
            ModuleDefinitionInfo moduleDefinition = null;
            try
            {
                var _Installer = new Installer(manifest, Request.MapPath("."), true);

                if (_Installer.IsValid)
                {
                    //Reset Log
                    _Installer.InstallerInfo.Log.Logs.Clear();

                    //Install
                    _Installer.Install();

                    if (_Installer.IsValid)
                    {
                        DesktopModuleInfo desktopModule = DesktopModuleController.GetDesktopModuleByPackageID(_Installer.InstallerInfo.PackageID);
                        if (desktopModule != null && desktopModule.ModuleDefinitions.Count > 0)
                        {
                            foreach (KeyValuePair<string, ModuleDefinitionInfo> kvp in desktopModule.ModuleDefinitions)
                            {
                                moduleDefinition = kvp.Value;
                                break;
                            }
                        }
                    }
                    else
                    {
                        UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("InstallError.Text", LocalResourceFile), ModuleMessage.ModuleMessageType.RedError);
                        phInstallLogs.Controls.Add(_Installer.InstallerInfo.Log.GetLogsTable());
                    }
                }
                else
                {
                    UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("InstallError.Text", LocalResourceFile), ModuleMessage.ModuleMessageType.RedError);
                    phInstallLogs.Controls.Add(_Installer.InstallerInfo.Log.GetLogsTable());
                }
            }
            catch (Exception exc)
            {
                Exceptions.LogException(exc);
                UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ImportControl.ErrorMessage", LocalResourceFile), ModuleMessage.ModuleMessageType.RedError);
            }

            return moduleDefinition;
        }
		private ModuleDefinitionInfo ImportManifest()
		{
			ModuleDefinitionInfo moduleDefinition = null;
			try
			{
				var folder = PathUtils.Instance.RemoveTrailingSlash(GetSourceFolder());
				var manifest = Server.MapPath("~/DesktopModules/" + folder + "/" + cboFile.SelectedValue);
				var installer = new Installer(manifest, Request.MapPath("."), true);

				if (installer.IsValid)
				{
					installer.InstallerInfo.Log.Logs.Clear();
					installer.Install();

					if (installer.IsValid)
					{
						var desktopModule = DesktopModuleController.GetDesktopModuleByPackageID(installer.InstallerInfo.PackageID);
						if (desktopModule != null && desktopModule.ModuleDefinitions.Count > 0)
						{
							foreach (var kvp in desktopModule.ModuleDefinitions)
							{
								moduleDefinition = kvp.Value;
								break; // TODO: might not be correct. Was : Exit For
							}
						}
					}
					else
					{
						UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("InstallError.Text", LocalResourceFile), UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError);
						phInstallLogs.Controls.Add(installer.InstallerInfo.Log.GetLogsTable());
					}
				}
				else
				{
					UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("InstallError.Text", LocalResourceFile), UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError);
					phInstallLogs.Controls.Add(installer.InstallerInfo.Log.GetLogsTable());
				}
			}
			catch (Exception exc)
			{
				Exceptions.LogException(exc);
				UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ImportControl.ErrorMessage", LocalResourceFile), UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError);
			}

			return moduleDefinition;
		}