private void ReadInputFileWorker(object sender, DoWorkEventArgs e) { var list = new List <TreeNode>(); try { m_tmpUnpackedOutputPathForUi = m_ku.GetTempPath(); m_remapInfo = m_ku.Unpack(e.Argument.ToString(), m_tmpUnpackedOutputPathForUi); foreach (var keyValuePair in m_remapInfo) { if (File.Exists(keyValuePair.Key)) { var text = keyValuePair.Value.Replace(m_tmpUnpackedOutputPathForUi, ""); if (text.StartsWith(Path.DirectorySeparatorChar.ToString())) { text = text.Substring(1); } list.Add(new TreeNode(text) { Checked = true, Tag = keyValuePair }); } } list.Sort((t1, t2) => t1.Text.CompareTo(t2.Text)); } catch (Exception ex) { e.Result = ex; return; } e.Result = list; }