WiX.Py: рд╣рдо MSI рдкреИрдХреЗрдЬ "рддреАрди рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ" рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ

MSDN рдХреЗ рд░рд╕рд╛рддрд▓ рдореЗрдВ рдбреВрдмрддреЗ рд╣реБрдП, рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП MSI рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд▓реЛрдореАрдЯрд░ рд╡рд╛рдИрдПрдХреНрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдордп рдФрд░ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ? рдХреНрдпрд╛ рдЖрдк рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ? рдХреНрдпрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдУрд░ рдПрдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдбреЙрдХрд░ рдХреЗ рддрд╣рдд рдмрдирд╛рддрд╛ рд╣реИ? рдЦреИрд░, рдлрд┐рд░ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд!


рдордЬрдмреВрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕


рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрди "рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ" рдХреЗ рд╕рд╛рде рдерд╛ рдХрд┐ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡реЗрдХреНрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдХреА рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЖрдИ рдереАред


рд╣рдо рд╡рд╛рдИрдПрдХреНрд╕ рдЯреВрд▓рд╕реЗрдЯ (рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдПрдХреНрд╕рдПрдордПрд▓) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдиреЗ рдореБрдЭреЗ рджреБрдЦреА рдФрд░ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ - рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдПрдХреНрд╕рдПрдордПрд▓ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдПрдХ рдЧрдВрднреАрд░ рд╡рд┐рд╕рд░реНрдЬрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред рд╣рдордиреЗ рдПрдХ рд╕рд░рд▓ рдореЗрдХрдорд╛рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЦрд╛рдорд┐рдпрд╛рдВ рдереАрдВред рдФрд░ рдлрд┐рд░, рдпреЗ рд╕рднреА рдЙрдкрдХрд░рдг рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдПрдордПрд╕рдЖрдИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдереЗред


рдЦреЛрдЬ рдиреЗ рд╡рд┐рдХреНрд╕рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдордПрд╕рдЖрдИ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдЧрдВрднреАрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреЛрд╖ рд╕реЗ рдкреАрдбрд╝рд┐рдд рдерд╛ рдФрд░ рд╡рд╛рдИрдПрдХреНрд╕рдПрдХреНрд╕ рдХреЗ рд╕рдорд╛рди рд░рд╛рдХреНрд╖рд╕реА рдЖрдХрд╛рд░ рдХреА рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред


рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рдЯреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдЬрдЧрд░ рдореЗрдВ рд╡рд┐рдХреНрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдХрдИ рдХрдорд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛, рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдмрдирд╛рдпрд╛ред рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗред рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛ рдерд╛, рдПрдХ MSI рд╕рдВрдХрд▓рдХ рдмрд╣реБрдд рдХрдо рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдХреЗ рд╕рд╛рдеред


рдХреИрд╕реЗ WiX.Py рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


MSI рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реАрдорд╛ рддрдХ рд╕рд░рд▓ рд╣реИ:


  1. рдПрдХ рдордирдорд╛рдирд╛ рдлрд╝реЛрд▓реНрдбрд░ (рдЬреИрд╕реЗ build ) рдореЗрдВ рд╣рдо рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЙрд╕ рд░реВрдк рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓рдХреНрд╖реНрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╣реЛрдЧрд╛ред


  2. рд╣рдо рдПрдХ рдЫреЛрдЯреА JSON рдлрд╝рд╛рдЗрд▓ рднрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:


     { "Name": "MyApp", "UpgradeCode": "3AC4B4FF-10C4-4B8F-81AD-BAC3238BF690", "Version": "0.1", "Manufacturer": "My Company", "Description": "MyApp 0.1 Installer", "Comments": "Licensed under GPLv3+", "Keywords": "wxs, xml, build", "Win64": true, "_CheckX64": true, "_AppIcon": "resources/myapp.ico", "_ProgramMenuFolder": "My Company", "_Shortcuts": [ {"Name": "MyApp", "Description": "MyApplication", "Target": "myapp.exe", "AddOnDesktop": true, "OpenWith": [".xml", ".wxs", ".yml"] } ], "_SourceDir": "build/", "_InstallDir": "myapp-0.1", "_OutputName": "myapp-0.1_win64.msi", "_OutputDir": "./" } 

  3. рд╣рдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде MSI рдкреИрдХреЗрдЬ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:


     wix.py <_>.json 


рд╣рд╛рдВ, рдпрд╣ MSI рдкреИрдХреЗрдЬ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ 64 рдмрд┐рдЯ Program Files рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдЧрд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдиреВ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╕рдВрд▓рдЧреНрди рдХрд░ рджреЗрдЧрд╛ред рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЬрд╛рджреВ рдФрд░ рд╢рд░реНрдорд┐рдВрджрдЧреА рдирд╣реАрдВред


рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЛ 5-6 рдкрдВрдХреНрддрд┐рдпреЛрдВ рддрдХ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдлреА рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред


WiX.Py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, MSI рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рджреЛрдиреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВред рдЪреВрдВрдХрд┐ рдЖрдзрд╛рд░ рд▓рд┐рдмрд╛рд╕рдореА рдХреЛ рдХрдИ рдЕрдиреНрдп рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ (рдЬреИрд╕реЗ macOS) рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ WiX.Py рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдкрд░ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИред


рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред


рдирд┐рд╖реНрдХрд░реНрд╖


рдпрджрд┐ WiX.Py рдЖрдкрдХреЛ MSI рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ, рддреЛ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ https://wix.sk1project.net рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдП рдЧрдП рдмрдЧ - рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЙрдирд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдорд┐рд▓реЗрдВрдЧреЗред


рдпрджрд┐ рд╡рд╛рдИрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рд╣реЗрдмреЗрд░рд╛ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рдИрдПрдХреНрд╕: 1 , 2 , 3 , 4 рдкрд░ рд▓реЗрдЦ рд╣реИрдВред

Source: https://habr.com/ru/post/hi424091/


All Articles