{"id":342784,"date":"2022-12-16T15:01:53","date_gmt":"2022-12-16T15:01:53","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=342784"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2022-12-16T15:01:53","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=342784","title":{"rendered":"<span>\u041a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d WixToolSet \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 windows installer \u0438 executable packages<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e!<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 <a href=\"https:\/\/wixtoolset.org\/\">WixToolSet<\/a> \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 (\u043f\u0430\u0440\u043e\u043b\u0438, \u044f\u0432\u043a\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b). \u0418 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043e\u043a\u043e\u043d \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043a\u0435\u0439\u0441\u0435.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/577\/a37\/509\/577a3750998035a4c8fa88cc9f2a86e8.png\" width=\"1920\" height=\"1080\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/577\/a37\/509\/577a3750998035a4c8fa88cc9f2a86e8.png\"\/><figcaption><\/figcaption><\/figure>\n<hr\/>\n<p>\u0422\u0435\u043c, \u043a\u043e\u043c\u0443 \u043b\u0435\u043d\u0438\u0432\u043e \u0447\u0438\u0442\u0430\u0442\u044c, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043d\u0430 <a href=\"https:\/\/github.com\/Reb00s\/WixToolSet_custom_dialog\">github<\/a>.<\/p>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ol>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a MSI \u2014 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0432 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0438\u0442:<br \/>a.\u00a0 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430;<br \/>b.  \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043f\u0430\u0440\u043e\u043b\u044f\u043c\u0438;<br \/>c.  \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u043e\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a EXE \u2014 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0438 \u0441\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0433\u043e \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c:<br \/>a.  \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u0434 \u0442\u0438\u0445\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 MSSQL Server 2016);<br \/>b.  \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430;<br \/>c.  \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0433\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0438\u0445\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0431\u0435\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d);<br \/>d.  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f.1, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f.1.\u0430.<\/p>\n<\/li>\n<\/ol>\n<p><em>\u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0437\u0430\u043e\u0441\u0442\u0440\u044f\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 windows installer \u0438 executable packages, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f. \u0421\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043e\u043d\u044b\u0445 \u0432\u043f\u043e\u043b\u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u041a\u0442\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0443\u0442\u0438\u043b\u0438\u0442 \u0432\u043f\u0435\u0440\u0432\u044b\u0435, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 <\/em><a href=\"https:\/\/github.com\/Reb00s\/WixToolSet_custom_dialog\"><em>github<\/em><\/a><em> \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. \u041f\u043e\u0435\u0445\u0430\u043b\u0438!<\/em><\/p>\n<h2>\u041a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 MSI<\/h2>\n<p>\u041f\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430, \u0432 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cd6\/74c\/fdc\/cd674cfdcbe634534e141dc207d1ebba.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21161\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21161\" width=\"499\" height=\"389\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd6\/74c\/fdc\/cd674cfdcbe634534e141dc207d1ebba.png\"\/><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21161<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0444\u0430\u0439\u043b <strong>PasswordDlg.wxs <\/strong>\u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"cs\">&lt;!-- \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0438\u0434\u0430 !(loc.name) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Variables.wxl      \u0421\u0442\u0438\u043b\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 {\\WixUI_Font_Name} \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f MyWixUI_InstallDir.wxs --> &lt;?xml version=\"1.0\" encoding=\"UTF-8\"?> &lt;Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">  &lt;Fragment>   &lt;UI>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u0431\u0430\u043d\u043d\u0435\u0440, \u0444\u0430\u0439\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0442 -->     &lt;Binary Id=\"BannerBmp\" SourceFile=\"Banner.bmp\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u043a\u043d\u0430 Id=\"PasswordDlg\" \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u0435 Title -->     &lt;Dialog Id=\"PasswordDlg\" Width=\"370\" Height=\"270\" Title=\"!(loc.PasswordDialogTitle)\">     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b X \u0438 Y, \u0433\u0434\u0435 \u0446\u0435\u043d\u0442\u0440 \u043e\u0441\u0438 \u043b\u0435\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043e\u043b, \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 W,H -->       &lt;Control Id=\"Title\" Type=\"Text\" X=\"15\" Y=\"6\" Width=\"160\" Height=\"15\" Transparent=\"yes\" NoPrefix=\"yes\" Text=\"{\\WixUI_Font_Title}!(loc.PasswordTitle)\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 -->       &lt;Control Id=\"Description\" Type=\"Text\" X=\"25\" Y=\"23\" Width=\"200\" Height=\"15\" Transparent=\"yes\" NoPrefix=\"yes\" Text=\"!(loc.PasswordTitleDescription)\"  NoWrap=\"no\"\/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c banner, \u0433\u0434\u0435 \u0432 \u043f\u043e\u043b\u0435 Text \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Bynary Id, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 -->       &lt;Control Id=\"BannerBitmap\" Type=\"Bitmap\" X=\"0\" Y=\"0\" Width=\"370\" Height=\"44\" TabSkip=\"no\" Text=\"BannerBmp\" \/>       &lt;Control Id=\"BannerLine\" Type=\"Line\" X=\"0\" Y=\"44\" Width=\"370\" Height=\"0\" \/>     &lt;!-- \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e-\u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043a \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c\u0443 \u043e\u043a\u043d\u0443 -->       &lt;Control Id=\"DialogInfo\" Type=\"Text\" X=\"20\" Y=\"60\" Width=\"228\" Height=\"45\" Text=\"!(loc.PasswordDialogInfo)\" TabSkip=\"yes\" Transparent=\"yes\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043a \u043f\u043e\u043b\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 ProperPasswordUser -->       &lt;Control Id=\"LabelPwdUser\" Type=\"Text\" X=\"20\" Y=\"100\" Height=\"17\" Width=\"95\" Transparent=\"yes\" Text=\"!(loc.LabelPasswordUser)\" \/>       &lt;Control Id=\"EditPwdUser\" Type=\"Edit\" X=\"100\" Y=\"97\"  Height=\"17\" Width=\"150\" Property=\"ProperPasswordUser\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u0440\u0443\u0442\u0430 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043a \u043f\u043e\u043b\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 ProperPasswordRoot -->       &lt;Control Id=\"LabelPwdRoot\" Type=\"Text\" X=\"20\" Y=\"120\" Height=\"17\" Width=\"95\" Transparent=\"yes\" Text=\"!(loc.LabelPasswordRoot)\" \/>       &lt;Control Id=\"EditPwdRoot\" Type=\"Edit\" X=\"100\" Y=\"117\"  Height=\"17\" Width=\"150\" Property=\"ProperPasswordRoot\" \/>     &lt;!-- \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f -->       &lt;Control Id=\"DialogDefaultPwdInfo\" Type=\"Text\" X=\"20\" Y=\"150\" Width=\"300\" Height=\"40\" Text=\"!(loc.PasswordDefaultPwdDescription)\" TabSkip=\"yes\" Transparent=\"yes\" Disabled=\"yes\" \/>     &lt;!-- \u0420\u0438\u0441\u0443\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u041d\u0430\u0437\u0430\u0434, \u0414\u0430\u043b\u0435\u0435 \u0438 \u041e\u0442\u043c\u0435\u043d\u0430 -->       &lt;Control Id=\"BottomLine\" Type=\"Line\" X=\"0\" Y=\"234\" Width=\"370\" Height=\"0\" \/>       &lt;Control Id=\"Next\" Type=\"PushButton\" X=\"236\" Y=\"243\" Width=\"56\" Height=\"17\" Default=\"yes\" Text=\"!(loc.PasswordButtonNext)\" \/>       &lt;Control Id=\"Back\" Type=\"PushButton\" X=\"180\" Y=\"243\" Width=\"56\" Height=\"17\" Text=\"!(loc.PasswordButtonBack)\" \/>       &lt;Control Id=\"Cancel\" Type=\"PushButton\" X=\"304\" Y=\"243\" Width=\"56\" Height=\"17\" Cancel=\"yes\" Text=\"!(loc.PasswordButtonCancel)\">         &lt;Publish Event=\"SpawnDialog\" Value=\"CancelDlg\">1&lt;\/Publish>       &lt;\/Control>     &lt;\/Dialog>   &lt;\/UI>   &lt;\/Fragment> &lt;\/Wix><\/code><\/pre>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0444\u0430\u0439\u043b <strong>Variables.wxl<\/strong> \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"cs\">&lt;!-- \u0422\u0443\u0442, \u044f \u0434\u0443\u043c\u0430\u044e, \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0432\u0441\u0435 \u0438 \u0431\u0435\u0437 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 --> &lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;WixLocalization Culture=\"ru-RU\" xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/localization\">   &lt;String Id=\"PasswordTitle\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430&lt;\/String>   &lt;String Id=\"PasswordTitleDescription\">\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0414\u0430\u043b\u0435\u0435\"&lt;\/String>   &lt;String Id=\"PasswordDialogTitle\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 [ProductName]&lt;\/String>   &lt;String Id=\"PasswordDialogInfo\">\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445:&lt;\/String>   &lt;String Id=\"PasswordDefaultPwdDescription\">\u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043e\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0440\u043f\u043e\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435&lt;\/String>   &lt;String Id=\"PasswordEnter\">\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c:&lt;\/String>   &lt;String Id=\"PasswordButtonNext\">\u0414\u0430\u043b\u0435\u0435&lt;\/String>   &lt;String Id=\"PasswordButtonBack\">\u041d\u0430\u0437\u0430\u0434&lt;\/String>   &lt;String Id=\"PasswordButtonCancel\">\u041e\u0442\u043c\u0435\u043d\u0430&lt;\/String>    &lt;String Id=\"LabelUserName\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c:&lt;\/String>   &lt;String Id=\"LabelPasswordUser\">\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:&lt;\/String>   &lt;String Id=\"LabelPasswordRoot\">\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0440\u0443\u0442\u0430:&lt;\/String> &lt;\/WixLocalization><\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d (\u0434\u0430\u043b\u0435\u0435 &#8212; \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439), \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 <strong>WixUI_InstallDir<\/strong>, \u0444\u0430\u0439\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043f\u043e \u043f\u0443\u0442\u0438: <em>C:\\Program Files (x86)\\WiX Toolset v3.11\\SDK\\wixui\\WixUI_InstallDir.wxs.<\/em><\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0432 \u0432 <strong>MyWixUI_InstallDir.wxs<\/strong>.<\/p>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0443\u0442\u0438\u043b\u0438\u0442 WixToolSet \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d. \u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/wixtoolset.org\/documentation\/manual\/v3\/wixui\/wixui_dialog_library.html\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>\u041a\u0430\u043a \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0438\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438: \u00ab\u0414\u0430\u043b\u0435\u0435\u00bb, \u00ab\u041d\u0430\u0437\u0430\u0434\u00bb, \u00ab\u041e\u0442\u043c\u0435\u043d\u0430\u00bb \u0438 \u0442.\u0434. \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043e\u043a\u043d\u0430.<\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/wixtoolset.org\/documentation\/manual\/v3\/wixui\/dialog_reference\/wixui_dialogs.html\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 <strong>MyWixUI_InstallDir.wxs<\/strong> \u0443 \u043d\u0430\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"cs\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?> &lt;Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">     &lt;Fragment>       &lt;!-- \u0414\u0430\u0435\u043c \u043d\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e -->       &lt;UI Id=\"MyWixUI_InstallDir\">         &lt;!-- \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0442\u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u0430, WixUI_Font_Title \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 PasswordDlg.wxs -->WixUI_Font_Title \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 PasswordDlg.wxs         &lt;TextStyle Id=\"WixUI_Font_Normal\" FaceName=\"Tahoma\" Size=\"8\" \/>         &lt;TextStyle Id=\"WixUI_Font_Bigger\" FaceName=\"Tahoma\" Size=\"12\" \/>         &lt;TextStyle Id=\"WixUI_Font_Title\" FaceName=\"Tahoma\" Size=\"9\" Bold=\"yes\" \/>         &lt;Property Id=\"DefaultUIFont\" Value=\"WixUI_Font_Normal\" \/>         &lt;Property Id=\"WixUI_Mode\" Value=\"InstallDir\" \/>         &lt;!-- \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043e\u043a\u043d\u0430 -->         &lt;DialogRef Id=\"BrowseDlg\" \/>         &lt;DialogRef Id=\"DiskCostDlg\" \/>         &lt;DialogRef Id=\"ErrorDlg\" \/>         &lt;DialogRef Id=\"FatalError\" \/>         &lt;DialogRef Id=\"FilesInUse\" \/>         &lt;DialogRef Id=\"MsiRMFilesInUse\" \/>         &lt;DialogRef Id=\"PrepareDlg\" \/>         &lt;DialogRef Id=\"ProgressDlg\" \/>         &lt;DialogRef Id=\"ResumeDlg\" \/>         &lt;DialogRef Id=\"UserExit\" \/>         &lt;!-- \u0414\u0430\u043b\u0435\u0435, \u043c\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043e\u043a\u043d\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0442\u0443\u0442, \u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0442\u0443\u0442 -->         &lt;Publish Dialog=\"BrowseDlg\" Control=\"OK\" Event=\"DoAction\" Value=\"WixUIValidatePath\" Order=\"3\">1&lt;\/Publish>         &lt;Publish Dialog=\"BrowseDlg\" Control=\"OK\" Event=\"SpawnDialog\" Value=\"InvalidDirDlg\" Order=\"4\">&lt;![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID&lt;>\"1\"]]&gt;&lt;\/Publish>         &lt;Publish Dialog=\"ExitDialog\" Control=\"Finish\" Event=\"EndDialog\" Value=\"Return\" Order=\"999\">1&lt;\/Publish>                  &lt;!-- \u041d\u0430\u0447\u0430\u043b\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043e\u043a\u043d\u043e \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f -->         &lt;Publish Dialog=\"WelcomeDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"LicenseAgreementDlg\">NOT Installed&lt;\/Publish>         &lt;Publish Dialog=\"WelcomeDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"VerifyReadyDlg\">Installed AND PATCH&lt;\/Publish>         &lt;!-- \u0414\u043b\u044f \u043e\u043a\u043d\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 PasswordDlg -->         &lt;Publish Dialog=\"LicenseAgreementDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"WelcomeDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"LicenseAgreementDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"PasswordDlg\">LicenseAccepted = \"1\"&lt;\/Publish>         &lt;!-- \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Value \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 InstallDirDlg \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043a LicenseAgreementDlg \u2192          &lt;Publish Dialog=\"PasswordDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"LicenseAgreementDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"PasswordDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"InstallDirDlg\">1&lt;\/Publish>         &lt;!-- \u0414\u043b\u044f \u043e\u043a\u043d\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0443\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043a PasswordDlg -->         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"PasswordDlg\">1&lt;\/Publish>         &lt;!-- \u0414\u0430\u043b\u044c\u0448\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c -->         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"Next\" Event=\"SetTargetPath\" Value=\"[WIXUI_INSTALLDIR]\" Order=\"1\">1&lt;\/Publish>         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"Next\" Event=\"DoAction\" Value=\"WixUIValidatePath\" Order=\"2\">NOT WIXUI_DONTVALIDATEPATH&lt;\/Publish>         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"Next\" Event=\"SpawnDialog\" Value=\"InvalidDirDlg\" Order=\"3\">&lt;![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID&lt;>\"1\"]]&gt;&lt;\/Publish>         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"VerifyReadyDlg\" Order=\"4\">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID=\"1\"&lt;\/Publish>         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"ChangeFolder\" Property=\"_BrowseProperty\" Value=\"[WIXUI_INSTALLDIR]\" Order=\"1\">1&lt;\/Publish>         &lt;Publish Dialog=\"InstallDirDlg\" Control=\"ChangeFolder\" Event=\"SpawnDialog\" Value=\"BrowseDlg\" Order=\"2\">1&lt;\/Publish>         &lt;Publish Dialog=\"VerifyReadyDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"InstallDirDlg\" Order=\"1\">NOT Installed&lt;\/Publish>         &lt;Publish Dialog=\"VerifyReadyDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"MaintenanceTypeDlg\" Order=\"2\">Installed AND NOT PATCH&lt;\/Publish>         &lt;Publish Dialog=\"VerifyReadyDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"WelcomeDlg\" Order=\"2\">Installed AND PATCH&lt;\/Publish>         &lt;Publish Dialog=\"MaintenanceWelcomeDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"MaintenanceTypeDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"MaintenanceTypeDlg\" Control=\"RepairButton\" Event=\"NewDialog\" Value=\"VerifyReadyDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"MaintenanceTypeDlg\" Control=\"RemoveButton\" Event=\"NewDialog\" Value=\"VerifyReadyDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"MaintenanceTypeDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"MaintenanceWelcomeDlg\">1&lt;\/Publish>         &lt;Property Id=\"ARPNOMODIFY\" Value=\"1\" \/>         &lt;\/UI>         &lt;UIRef Id=\"WixUI_Common\" \/>     &lt;\/Fragment> &lt;\/Wix><\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0448 \u043d\u043e\u0432\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0431\u0430\u043d\u043d\u0435\u0440\u0430 \u0438 \u0445\u0435\u0434\u0435\u0440\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 <strong>Product.wxs<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c:<\/p>\n<pre><code class=\"cs\">&lt;!-- \u0422\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d --> &lt;UIRef Id=\"MyWixUI_InstallDir\"\/> &lt;!-- \u0422\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0434\u043b\u044f \u0431\u0430\u043d\u043d\u0435\u0440\u0430 --> &lt;WixVariable Id=\"WixUIBannerBmp\" Value=\"Banner.bmp\" \/> &lt;!-- \u0422\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0434\u043b\u044f \u0445\u0435\u0434\u0435\u0440\u0430 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u043e\u043a\u043d\u0430 --> &lt;WixVariable Id=\"WixUIDialogBmp\" Value=\"Dialog.bmp\" \/><\/code><\/pre>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043d\u0430\u0441\u043b\u0430\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/285\/763\/158\/285763158dae8891c8b3cf77c4053200.gif\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21162\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21162\" width=\"495\" height=\"388\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/285\/763\/158\/285763158dae8891c8b3cf77c4053200.gif\"\/><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21162<\/figcaption><\/figure>\n<h2>\u041a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 EXE<\/h2>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 EXE &#8212; \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043c\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0438\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a MSI, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0438\u0445\u043e\u043c \u0440\u0435\u0436\u0438\u043c, \u0431\u0435\u0437 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043d\u0430\u043c \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u043a\u043d\u0430 \u043e\u043f\u0446\u0438\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 MSI, \u0433\u0434\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <strong>RtfLargeTheme.xml<\/strong> \u0438 \u0444\u0430\u0439\u043b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <strong>RtfTheme.wxl.<\/strong><\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0432 \u0432 <strong>MyRtfLargeTheme.xml<\/strong> \u0438 <strong>MyRtfTheme.wxl,<\/strong> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u0424\u0430\u0439\u043b\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0442\u0443\u0442: <em>C:\\Program Files (x86)\\WiX Toolset v3.11\\SDK\\themes.<\/em><\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u043e\u043f\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u201c\u041e\u043f\u0446\u0438\u0438\u201d \u0432 \u043e\u043a\u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 EXE, \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 3.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6f5\/5aa\/6f7\/6f55aa6f7b7a699fdc4f36d2cb88b327.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21163\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21163\" width=\"499\" height=\"391\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6f5\/5aa\/6f7\/6f55aa6f7b7a699fdc4f36d2cb88b327.png\"\/><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21163<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0448\u0430\u0431\u043b\u043e\u043d\u0430 <strong>MyRtfLargeTheme.xml<\/strong>, \u0440\u0430\u0437\u0434\u0435\u043b\u044b <em>&lt;Page Name=\u201cInstall\u201c><\/em> \u0438 <em>&lt;Page Name=\u201cOptions\u201c><\/em>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cs\">&lt;!--\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0438\u0434\u0430 #(loc.name) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 MSI \u0441\u0441\u044b\u043b\u043a\u0438 \u0431\u044b\u043b\u0438 \u0432\u0438\u0434\u0430 !(loc.name)--> &lt;!--\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043e\u043a\u043d\u043e \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u043a\u043d\u043e\u043f\u043a\u0443 \u041e\u043f\u0446\u0438\u0438--> &lt;Page Name=\"Install\">     &lt;Text X=\"11\" Y=\"80\" Width=\"-11\" Height=\"-70\" TabStop=\"no\" FontId=\"2\" HexStyle=\"0x800000\" DisablePrefix=\"yes\" \/>     &lt;Richedit Name=\"EulaRichedit\" X=\"12\" Y=\"81\" Width=\"-12\" Height=\"-71\" TabStop=\"yes\" FontId=\"0\" \/>         &lt;Text Name=\"InstallVersion\" X=\"11\" Y=\"-41\" Width=\"210\" Height=\"17\" FontId=\"3\" DisablePrefix=\"yes\" HideWhenDisabled=\"yes\">#(loc.InstallVersion)&lt;\/Text>         &lt;Checkbox Name=\"EulaAcceptCheckbox\" X=\"-11\" Y=\"-41\" Width=\"260\" Height=\"17\" TabStop=\"yes\" FontId=\"3\" HideWhenDisabled=\"yes\">#(loc.InstallAcceptCheckbox)&lt;\/Checkbox>         &lt;!--\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 \u041e\u043f\u0446\u0438\u0438, \u0433\u0434\u0435 \u0438 \u0431\u0443\u0434\u0443 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b-->         &lt;Button Name=\"OptionsButton\" X=\"-191\" Y=\"-11\" Width=\"75\" Height=\"23\" TabStop=\"yes\" FontId=\"0\" HideWhenDisabled=\"yes\">#(loc.InstallOptionsButton)&lt;\/Button>         &lt;Button Name=\"InstallButton\" X=\"-91\" Y=\"-11\" Width=\"95\" Height=\"23\" TabStop=\"yes\" FontId=\"0\">#(loc.InstallInstallButton)&lt;\/Button>         &lt;Button Name=\"WelcomeCancelButton\" X=\"-11\" Y=\"-11\" Width=\"75\" Height=\"23\" TabStop=\"yes\" FontId=\"0\">#(loc.InstallCloseButton)&lt;\/Button>     &lt;\/Page>   &lt;!--\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043e\u043a\u043d\u043e \u041e\u043f\u0446\u0438\u0438, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430--> &lt;Page Name=\"Options\">         &lt;Text X=\"11\" Y=\"80\" Width=\"-11\" Height=\"30\" FontId=\"2\" DisablePrefix=\"yes\">#(loc.OptionsHeader)&lt;\/Text>          &lt;!--\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f-->          &lt;Text X=\"11\" Y=\"121\" Width=\"-11\" Height=\"17\" FontId=\"3\" DisablePrefix=\"yes\">#(loc.OptionsUserPwd)&lt;\/Text>         &lt;Editbox Name=\"UserPwdEditbox\" X=\"11\" Y=\"143\" Width=\"-91\" Height=\"21\" TabStop=\"yes\" FontId=\"3\" FileSystemAutoComplete=\"yes\">DefaultUserPwd&lt;\/Editbox>          &lt;!--\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u0440\u0443\u0442\u0430-->          &lt;Text X=\"11\" Y=\"171\" Width=\"-11\" Height=\"17\" FontId=\"3\" DisablePrefix=\"yes\">#(loc.OptionsRootPwd)&lt;\/Text>         &lt;Editbox Name=\"RootPwdEditbox\" X=\"11\" Y=\"193\" Width=\"-91\" Height=\"21\" TabStop=\"yes\" FontId=\"3\" FileSystemAutoComplete=\"yes\">DefaultRootPwd&lt;\/Editbox>         &lt;!--\u041a\u043d\u043e\u043f\u043a\u0438 \u041e\u041a \u0438 \u041e\u0442\u043c\u0435\u043d\u0430-->         &lt;Button Name=\"OptionsOkButton\" X=\"-91\" Y=\"-11\" Width=\"75\" Height=\"23\" TabStop=\"yes\" FontId=\"0\">#(loc.OptionsOkButton)&lt;\/Button>         &lt;Button Name=\"OptionsCancelButton\" X=\"-11\" Y=\"-11\" Width=\"75\" Height=\"23\" TabStop=\"yes\" FontId=\"0\">#!(loc.!(loc.(loc.OptionsCancelButton)&lt;\/Button>     &lt;\/Page><\/code><\/pre>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <strong>MyRtfTheme.wxl<\/strong> \u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c \u0432\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u0442\u0435\u0441\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u0435\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b <strong>Bundle.wxs<\/strong>, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"cs\">&lt;BootstrapperApplicationRef Id=\"WixStandardBootstrapperApplication.RtfLicense\">       &lt;bal:WixStandardBootstrapperApplication           &lt;!-- \u0423\u043a\u0430\u0436\u0435\u043c \u0444\u0430\u0439\u043b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430-->       LicenseFile=\"EULA-RU.rtf\"           &lt;!-- \u0423\u043a\u0430\u0436\u0435\u043c \u0438\u043a\u043e\u043d\u043a\u0443 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430-->       LogoFile=\"logo.ico\"           &lt;!-- \u0423\u043a\u0430\u0436\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0447\u0438\u043d\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440-->      SuppressRepair=\"no\"           &lt;!-- \u0423\u043a\u0430\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d \u0438 \u0444\u0430\u0439\u043b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430-->            ThemeFile=\"MyRtfLargeTheme.xml\"           LocalizationFile=\"MyRtfTheme.wxl\"           &lt;!-- \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043e\u043a\u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430-->            ShowVersion=\"yes\"\/> &lt;\/BootstrapperApplicationRef>  &lt;!-- \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0432\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0430\u0440\u043e\u043b\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u043a\u043d\u0435 \u043e\u043f\u0446\u0438\u0439. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 Hidden=\u201dyes\u201d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u0440\u044b\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.-->  &lt;!-- \u0412 Value \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0438\u0437 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0430 EditBox [UserPwdEditbox], \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043e\u043f\u0446\u0438\u044f\u0445 --> &lt;Variable Name=\"UserPwdVariable\" Type=\"string\" bal:Overridable=\"yes\" Value=\"[UserPwdEditbox]\" Hidden=\"yes\" \/>  &lt;!-- \u0412 Value \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0438\u0437 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0430 EditBox [RootPwdEditbox], \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043e\u043f\u0446\u0438\u044f\u0445 --> &lt;Variable Name=\"RootPwdVariable\" Type=\"string\" bal:Overridable=\"yes\" Value=\"[RootPwdEditbox]\" Hidden=\"yes\" \/>  &lt;!-- \u0412 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0448 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u0438 \u043a\u0430\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b --> &lt;Chain>    &lt;!--\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b-->    &lt;ExePackage Id=\"InstallPackage\" \u2026    &lt;\/ExePackage>         &lt;!--\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u0438-->    &lt;MsiPackage Id=\"InstallMSI\" SourceFile= \"$(var.WixToolSet_MSI.TargetDir)WixToolSet_MSI.msi\"                DisplayName=\"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 MSI\"                Visible=\"yes\"                Vital=\"yes\">       &lt;MsiProperty Name=\"APPLICATIONFOLDER\" Value=\"[SourceFolder]\"\/> &lt;!--\u041f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432-->       &lt;MsiProperty Name=\"PROPPWDROOT\" Value=\"[RootPwdVariable]\" \/>       &lt;MsiProperty Name=\"PROPPWDUSER\" Value=\"[UserPwdVariable]\" \/>    &lt;\/MsiPackage> &lt;\/Chain><\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043d\u0435\u043a\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0432 \u0432\u0441\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/428\/db8\/42b\/428db842b3baceff7d912ffbf60cb209.gif\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21164\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21164\" width=\"498\" height=\"390\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/428\/db8\/42b\/428db842b3baceff7d912ffbf60cb209.gif\"\/><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21164<\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0439 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438 \u0438 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0443\u0433\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442\u0435, \u044d\u0442\u043e \u043c\u043e\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f. \u041f\u0440\u043e\u0431\u0430 \u043f\u0435\u0440\u0430!<\/p>\n<p>\u0412\u0441\u0435\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0438 \u0434\u043e \u0441\u043a\u043e\u0440\u043e\u0433\u043e!<\/p>\n<p><strong>\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438:<\/strong> <a href=\"https:\/\/habr.com\/ru\/users\/reb00s\/\">\u0421\u043e\u043a\u043e\u043b \u0414\u0430\u043d\u0438\u0438\u043b<\/a><\/p>\n<hr\/>\n<p><strong>\u041f.\u0421. \u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 WixToolSet.<\/strong><\/p>\n<p>\u0421\u0442\u0430\u0442\u044c\u0438 \u043e\u0442 @<a href=\"https:\/\/habr.com\/ru\/users\/Terror\/\">Terror<\/a>, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 wixtoolset:<\/p>\n<ul>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/habr.com\/ru\/post\/68616\/\">WiX<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/habr.com\/ru\/post\/69129\/\">WiX. \u0427\u0430\u0441\u0442\u044c 2<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/habr.com\/ru\/post\/70616\/\">WiX. \u0427\u0430\u0441\u0442\u044c 3<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 @<a href=\"https:\/\/habr.com\/ru\/users\/Revolution\/\">Revolution<\/a>, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 msi \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438:<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 <a href=\"https:\/\/habr.com\/ru\/post\/122038\/\">WiX \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/infowatch\/blog\/705968\/\"> https:\/\/habr.com\/ru\/company\/infowatch\/blog\/705968\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e!<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 <a href=\"https:\/\/wixtoolset.org\/\">WixToolSet<\/a> \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 (\u043f\u0430\u0440\u043e\u043b\u0438, \u044f\u0432\u043a\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b). \u0418 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043e\u043a\u043e\u043d \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043a\u0435\u0439\u0441\u0435.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<hr\/>\n<p>\u0422\u0435\u043c, \u043a\u043e\u043c\u0443 \u043b\u0435\u043d\u0438\u0432\u043e \u0447\u0438\u0442\u0430\u0442\u044c, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043d\u0430 <a href=\"https:\/\/github.com\/Reb00s\/WixToolSet_custom_dialog\">github<\/a>.<\/p>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ol>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a MSI \u2014 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0432 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0438\u0442:<br \/>a.\u00a0 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430;<br \/>b.  \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043f\u0430\u0440\u043e\u043b\u044f\u043c\u0438;<br \/>c.  \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u043e\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a EXE \u2014 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0438 \u0441\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0433\u043e \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c:<br \/>a.  \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u0434 \u0442\u0438\u0445\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 MSSQL Server 2016);<br \/>b.  \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430;<br \/>c.  \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0433\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0438\u0445\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0431\u0435\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d);<br \/>d.  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f.1, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f.1.\u0430.<\/p>\n<\/li>\n<\/ol>\n<p><em>\u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0437\u0430\u043e\u0441\u0442\u0440\u044f\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 windows installer \u0438 executable packages, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f. \u0421\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043e\u043d\u044b\u0445 \u0432\u043f\u043e\u043b\u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u041a\u0442\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0443\u0442\u0438\u043b\u0438\u0442 \u0432\u043f\u0435\u0440\u0432\u044b\u0435, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 <\/em><a href=\"https:\/\/github.com\/Reb00s\/WixToolSet_custom_dialog\"><em>github<\/em><\/a><em> \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. \u041f\u043e\u0435\u0445\u0430\u043b\u0438!<\/em><\/p>\n<h2>\u041a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 MSI<\/h2>\n<p>\u041f\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430, \u0432 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e.<\/p>\n<figure class=\"\"><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u21161<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0444\u0430\u0439\u043b <strong>PasswordDlg.wxs <\/strong>\u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"cs\">&lt;!-- \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0438\u0434\u0430 !(loc.name) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Variables.wxl      \u0421\u0442\u0438\u043b\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 {\\WixUI_Font_Name} \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f MyWixUI_InstallDir.wxs --> &lt;?xml version=\"1.0\" encoding=\"UTF-8\"?> &lt;Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">  &lt;Fragment>   &lt;UI>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u0431\u0430\u043d\u043d\u0435\u0440, \u0444\u0430\u0439\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0442 -->     &lt;Binary Id=\"BannerBmp\" SourceFile=\"Banner.bmp\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u043a\u043d\u0430 Id=\"PasswordDlg\" \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u0435 Title -->     &lt;Dialog Id=\"PasswordDlg\" Width=\"370\" Height=\"270\" Title=\"!(loc.PasswordDialogTitle)\">     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b X \u0438 Y, \u0433\u0434\u0435 \u0446\u0435\u043d\u0442\u0440 \u043e\u0441\u0438 \u043b\u0435\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043e\u043b, \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 W,H -->       &lt;Control Id=\"Title\" Type=\"Text\" X=\"15\" Y=\"6\" Width=\"160\" Height=\"15\" Transparent=\"yes\" NoPrefix=\"yes\" Text=\"{\\WixUI_Font_Title}!(loc.PasswordTitle)\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 -->       &lt;Control Id=\"Description\" Type=\"Text\" X=\"25\" Y=\"23\" Width=\"200\" Height=\"15\" Transparent=\"yes\" NoPrefix=\"yes\" Text=\"!(loc.PasswordTitleDescription)\"  NoWrap=\"no\"\/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c banner, \u0433\u0434\u0435 \u0432 \u043f\u043e\u043b\u0435 Text \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Bynary Id, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 -->       &lt;Control Id=\"BannerBitmap\" Type=\"Bitmap\" X=\"0\" Y=\"0\" Width=\"370\" Height=\"44\" TabSkip=\"no\" Text=\"BannerBmp\" \/>       &lt;Control Id=\"BannerLine\" Type=\"Line\" X=\"0\" Y=\"44\" Width=\"370\" Height=\"0\" \/>     &lt;!-- \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e-\u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043a \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c\u0443 \u043e\u043a\u043d\u0443 -->       &lt;Control Id=\"DialogInfo\" Type=\"Text\" X=\"20\" Y=\"60\" Width=\"228\" Height=\"45\" Text=\"!(loc.PasswordDialogInfo)\" TabSkip=\"yes\" Transparent=\"yes\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043a \u043f\u043e\u043b\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 ProperPasswordUser -->       &lt;Control Id=\"LabelPwdUser\" Type=\"Text\" X=\"20\" Y=\"100\" Height=\"17\" Width=\"95\" Transparent=\"yes\" Text=\"!(loc.LabelPasswordUser)\" \/>       &lt;Control Id=\"EditPwdUser\" Type=\"Edit\" X=\"100\" Y=\"97\"  Height=\"17\" Width=\"150\" Property=\"ProperPasswordUser\" \/>     &lt;!-- \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u0440\u0443\u0442\u0430 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043a \u043f\u043e\u043b\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 ProperPasswordRoot -->       &lt;Control Id=\"LabelPwdRoot\" Type=\"Text\" X=\"20\" Y=\"120\" Height=\"17\" Width=\"95\" Transparent=\"yes\" Text=\"!(loc.LabelPasswordRoot)\" \/>       &lt;Control Id=\"EditPwdRoot\" Type=\"Edit\" X=\"100\" Y=\"117\"  Height=\"17\" Width=\"150\" Property=\"ProperPasswordRoot\" \/>     &lt;!-- \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f -->       &lt;Control Id=\"DialogDefaultPwdInfo\" Type=\"Text\" X=\"20\" Y=\"150\" Width=\"300\" Height=\"40\" Text=\"!(loc.PasswordDefaultPwdDescription)\" TabSkip=\"yes\" Transparent=\"yes\" Disabled=\"yes\" \/>     &lt;!-- \u0420\u0438\u0441\u0443\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u041d\u0430\u0437\u0430\u0434, \u0414\u0430\u043b\u0435\u0435 \u0438 \u041e\u0442\u043c\u0435\u043d\u0430 -->       &lt;Control Id=\"BottomLine\" Type=\"Line\" X=\"0\" Y=\"234\" Width=\"370\" Height=\"0\" \/>       &lt;Control Id=\"Next\" Type=\"PushButton\" X=\"236\" Y=\"243\" Width=\"56\" Height=\"17\" Default=\"yes\" Text=\"!(loc.PasswordButtonNext)\" \/>       &lt;Control Id=\"Back\" Type=\"PushButton\" X=\"180\" Y=\"243\" Width=\"56\" Height=\"17\" Text=\"!(loc.PasswordButtonBack)\" \/>       &lt;Control Id=\"Cancel\" Type=\"PushButton\" X=\"304\" Y=\"243\" Width=\"56\" Height=\"17\" Cancel=\"yes\" Text=\"!(loc.PasswordButtonCancel)\">         &lt;Publish Event=\"SpawnDialog\" Value=\"CancelDlg\">1&lt;\/Publish>       &lt;\/Control>     &lt;\/Dialog>   &lt;\/UI>   &lt;\/Fragment> &lt;\/Wix><\/code><\/pre>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0444\u0430\u0439\u043b <strong>Variables.wxl<\/strong> \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"cs\">&lt;!-- \u0422\u0443\u0442, \u044f \u0434\u0443\u043c\u0430\u044e, \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0432\u0441\u0435 \u0438 \u0431\u0435\u0437 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 --> &lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;WixLocalization Culture=\"ru-RU\" xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/localization\">   &lt;String Id=\"PasswordTitle\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430&lt;\/String>   &lt;String Id=\"PasswordTitleDescription\">\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0414\u0430\u043b\u0435\u0435\"&lt;\/String>   &lt;String Id=\"PasswordDialogTitle\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 [ProductName]&lt;\/String>   &lt;String Id=\"PasswordDialogInfo\">\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445:&lt;\/String>   &lt;String Id=\"PasswordDefaultPwdDescription\">\u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043e\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0440\u043f\u043e\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435&lt;\/String>   &lt;String Id=\"PasswordEnter\">\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c:&lt;\/String>   &lt;String Id=\"PasswordButtonNext\">\u0414\u0430\u043b\u0435\u0435&lt;\/String>   &lt;String Id=\"PasswordButtonBack\">\u041d\u0430\u0437\u0430\u0434&lt;\/String>   &lt;String Id=\"PasswordButtonCancel\">\u041e\u0442\u043c\u0435\u043d\u0430&lt;\/String>    &lt;String Id=\"LabelUserName\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c:&lt;\/String>   &lt;String Id=\"LabelPasswordUser\">\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:&lt;\/String>   &lt;String Id=\"LabelPasswordRoot\">\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0440\u0443\u0442\u0430:&lt;\/String> &lt;\/WixLocalization><\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d (\u0434\u0430\u043b\u0435\u0435 &#8212; \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439), \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0443\u0442\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 <strong>WixUI_InstallDir<\/strong>, \u0444\u0430\u0439\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043f\u043e \u043f\u0443\u0442\u0438: <em>C:\\Program Files (x86)\\WiX Toolset v3.11\\SDK\\wixui\\WixUI_InstallDir.wxs.<\/em><\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0432 \u0432 <strong>MyWixUI_InstallDir.wxs<\/strong>.<\/p>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0443\u0442\u0438\u043b\u0438\u0442 WixToolSet \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d. \u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/wixtoolset.org\/documentation\/manual\/v3\/wixui\/wixui_dialog_library.html\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>\u041a\u0430\u043a \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0438\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438: \u00ab\u0414\u0430\u043b\u0435\u0435\u00bb, \u00ab\u041d\u0430\u0437\u0430\u0434\u00bb, \u00ab\u041e\u0442\u043c\u0435\u043d\u0430\u00bb \u0438 \u0442.\u0434. \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043e\u043a\u043d\u0430.<\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043e\u043a\u043e\u043d \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/wixtoolset.org\/documentation\/manual\/v3\/wixui\/dialog_reference\/wixui_dialogs.html\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 <strong>MyWixUI_InstallDir.wxs<\/strong> \u0443 \u043d\u0430\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"cs\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?> &lt;Wix xmlns=\"http:\/\/schemas.microsoft.com\/wix\/2006\/wi\">     &lt;Fragment>       &lt;!-- \u0414\u0430\u0435\u043c \u043d\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e -->       &lt;UI Id=\"MyWixUI_InstallDir\">         &lt;!-- \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0442\u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u0430, WixUI_Font_Title \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 PasswordDlg.wxs -->WixUI_Font_Title \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 PasswordDlg.wxs         &lt;TextStyle Id=\"WixUI_Font_Normal\" FaceName=\"Tahoma\" Size=\"8\" \/>         &lt;TextStyle Id=\"WixUI_Font_Bigger\" FaceName=\"Tahoma\" Size=\"12\" \/>         &lt;TextStyle Id=\"WixUI_Font_Title\" FaceName=\"Tahoma\" Size=\"9\" Bold=\"yes\" \/>         &lt;Property Id=\"DefaultUIFont\" Value=\"WixUI_Font_Normal\" \/>         &lt;Property Id=\"WixUI_Mode\" Value=\"InstallDir\" \/>         &lt;!-- \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043e\u043a\u043d\u0430 -->         &lt;DialogRef Id=\"BrowseDlg\" \/>         &lt;DialogRef Id=\"DiskCostDlg\" \/>         &lt;DialogRef Id=\"ErrorDlg\" \/>         &lt;DialogRef Id=\"FatalError\" \/>         &lt;DialogRef Id=\"FilesInUse\" \/>         &lt;DialogRef Id=\"MsiRMFilesInUse\" \/>         &lt;DialogRef Id=\"PrepareDlg\" \/>         &lt;DialogRef Id=\"ProgressDlg\" \/>         &lt;DialogRef Id=\"ResumeDlg\" \/>         &lt;DialogRef Id=\"UserExit\" \/>         &lt;!-- \u0414\u0430\u043b\u0435\u0435, \u043c\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u043e\u043a\u043d\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0442\u0443\u0442, \u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0442\u0443\u0442 -->         &lt;Publish Dialog=\"BrowseDlg\" Control=\"OK\" Event=\"DoAction\" Value=\"WixUIValidatePath\" Order=\"3\">1&lt;\/Publish>         &lt;Publish Dialog=\"BrowseDlg\" Control=\"OK\" Event=\"SpawnDialog\" Value=\"InvalidDirDlg\" Order=\"4\">&lt;![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID&lt;>\"1\"]]&gt;&lt;\/Publish>         &lt;Publish Dialog=\"ExitDialog\" Control=\"Finish\" Event=\"EndDialog\" Value=\"Return\" Order=\"999\">1&lt;\/Publish>                  &lt;!-- \u041d\u0430\u0447\u0430\u043b\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043e\u043a\u043d\u043e \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f -->         &lt;Publish Dialog=\"WelcomeDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"LicenseAgreementDlg\">NOT Installed&lt;\/Publish>         &lt;Publish Dialog=\"WelcomeDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"VerifyReadyDlg\">Installed AND PATCH&lt;\/Publish>         &lt;!-- \u0414\u043b\u044f \u043e\u043a\u043d\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 PasswordDlg -->         &lt;Publish Dialog=\"LicenseAgreementDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"WelcomeDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"LicenseAgreementDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"PasswordDlg\">LicenseAccepted = \"1\"&lt;\/Publish>         &lt;!-- \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Value \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 InstallDirDlg \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043a LicenseAgreementDlg \u2192          &lt;Publish Dialog=\"PasswordDlg\" Control=\"Back\" Event=\"NewDialog\" Value=\"LicenseAgreementDlg\">1&lt;\/Publish>         &lt;Publish Dialog=\"PasswordDlg\" Control=\"Next\" Event=\"NewDialog\" Value=\"InstallDirDlg\">1&lt;\/Publish>         &lt;!-- \u0414\u043b\u044f \u043e\u043a\u043d\u0430<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-342784","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=342784"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342784\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=342784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=342784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=342784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}