(empty log message)
@@ -59,14 +59,14 @@ | ||
59 | 59 | Registry::ValueNode(L"", clsid) |
60 | 60 | }) |
61 | 61 | }), |
62 | - Registry::KeyNode(L"Microsoft\\Office\\Outlook\\Addins", true, | |
62 | + }), | |
63 | + Registry::KeyNode(L"Microsoft\\Office\\Outlook\\Addins", true, | |
64 | + { | |
65 | + Registry::KeyNode(progid, false, | |
63 | 66 | { |
64 | - Registry::KeyNode(progid, false, | |
65 | - { | |
66 | - Registry::ValueNode(L"Description", L"Minimize on Close"), | |
67 | - Registry::ValueNode(L"FriendlyName", L"Minimize on Close"), | |
68 | - Registry::ValueNode(L"LoadBehavior", 3) | |
69 | - }) | |
67 | + Registry::ValueNode(L"Description", L"Minimize on Close"), | |
68 | + Registry::ValueNode(L"FriendlyName", L"Minimize on Close"), | |
69 | + Registry::ValueNode(L"LoadBehavior", 3) | |
70 | 70 | }) |
71 | 71 | }) |
72 | 72 | }) |
@@ -106,6 +106,7 @@ | ||
106 | 106 | if (r != ERROR_SUCCESS) { throw Error(r); } |
107 | 107 | Finally a([k] { if (k != 0) ::RegCloseKey(k); }); |
108 | 108 | for (auto i = children.cbegin(); i != children.cend(); ++i) { i->second.Create(k); } |
109 | + for (auto i = values.cbegin(); i != values.cend(); ++i) { i->second.Create(k); } | |
109 | 110 | } else if (value.type == REG_SZ) { |
110 | 111 | LONG r = ::RegSetValueEx(h, name.c_str(), 0, REG_SZ, reinterpret_cast<const BYTE *>(value.reg_sz.c_str()), (DWORD)(sizeof(char16_t) * (value.reg_sz.length() + 1))); |
111 | 112 | if (r != ERROR_SUCCESS) { throw Error(r); } |
@@ -140,12 +141,12 @@ | ||
140 | 141 | } |
141 | 142 | friend Registry; |
142 | 143 | protected: |
143 | - static NodeMap makeChildren(const std::initializer_list<Registry::ValueNode> c) { NodeMap r; for (const Node& cc : c) { r.insert(std::make_pair(cc.subkey, cc)); } return r; } | |
144 | + static NodeMap makeChildren(const std::initializer_list<Registry::ValueNode> c) { NodeMap r; for (const Node& cc : c) { r.insert(std::make_pair(cc.name, cc)); } return r; } | |
144 | 145 | static NodeMap makeChildren(const std::initializer_list<Registry::KeyNode> c) { NodeMap r; for (const Node& cc : c) { r.insert(std::make_pair(cc.subkey, cc)); } return r; } |
145 | 146 | }; |
146 | 147 | struct ValueNode : Node { |
147 | - ValueNode(const std::wstring& name, const std::wstring& value) noexcept : Node(0, false, std::wstring(), name, value, NodeMap(), NodeMap()) { } | |
148 | - ValueNode(const std::wstring& name, const DWORD value) noexcept : Node(0, false, std::wstring(), name, value, NodeMap(), NodeMap()) { } | |
148 | + ValueNode(const std::wstring& name, const std::wstring& value) noexcept : Node(0, false, std::wstring(), name, value, NodeMap(), NodeMap()) {} | |
149 | + ValueNode(const std::wstring& name, const DWORD value) noexcept : Node(0, false, std::wstring(), name, value, NodeMap(), NodeMap()) {} | |
149 | 150 | }; |
150 | 151 | struct KeyNode : Node { |
151 | 152 | KeyNode(const std::wstring& name, const bool shared) noexcept : Node(0, shared, name, std::wstring(), Value(), NodeMap(), NodeMap()) {} |