рдкреИрдЪрд╡рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рдХреНрд╕ рдкрд░ рдкреИрдЪ рдмрдирд╛рдирд╛


рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рди! рдореИрдВ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рднреА рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ (рдЗрд╕ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдардХ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)ред рдпрд╣рд╛рдВ wix рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдардХ рдЗрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдорд┐рд▓рд╛ рд╣реИ, рдореБрдЦреНрдпрддрдГ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг, рд╕рд╛рде рд╣реА рд╕рд╛рде рд░реЛрд▓рдмреИрдХ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдХрд╛рд░рдгред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдлрд┐рд░ рдореИрдВ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг, рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рджреВрд╕рд░рд╛ рднрд╛рдЧ рднреА рдХрд░реВрдВрдЧрд╛ред

рдЙрджреНрджреЗрд╢реНрдп:


1. рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдЙрддреНрдкрд╛рдж рд╣реИ рдЬреЛ рд╡рд╛рдирд┐рдХреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдХрдИ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рд╢рд░реНрдд рдЙрддреНрдкрд╛рдж рдХреЛ рдирд╛рдо рджреЗрдВ, рдЖрдЗрдП рдРрд╢ рдХрд╣рддреЗ рд╣реИрдВред
2. рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП, рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдордЧреНрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ (рдирдХреНрд╢реЗ, рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рдмреЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕, рдЖрджрд┐)ред
3. "рд╣реЙрдЯ" рд╕реАрдЬрд╝рди рдореЗрдВ, рдЕрдкрдбреЗрдЯ рд╣рд░ 1-2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрдЪрд╛рдирдХ рдФрд░ рдЕрдХреНрд╕рд░ рдХреБрдЫ рдирдпрд╛ рдЪрд╛рд╣рд┐рдП)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрддреНрдкрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рддреЛ рдкреНрд░рдореБрдЦ , рдорд╛рдореВрд▓реА рдпрд╛ рдирд┐рд░реНрдорд╛рдг )
4. рдХрд┐рд╕реА рднреА рд╕рдордп, рдХреЛрдИ рднреА рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдбреЗрдЯ рдФрд░ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд╕рдХрддрд╛ рд╣реИред рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рдкрд░ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
5. ClickOnce рдХреБрдЫ рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИред
6. Wix рдкрд░ рд╕рдм рдХреБрдЫ рдмрдирд╛рдУ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИред

рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ (рдмрд┐рдВрджреБ 4!), рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ 100 рдПрдордмреА рдирд╣реАрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдмрд╛рд░ рдкреИрдЪ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рд╣реИрдВ:
1. рдФрд░ рдореБрдЭреЗ рдкреИрдЪрд┐рдВрдЧ рд╕реНрдХрд┐рдк рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛рдиреА рдЖрдк 1 рдпрд╛ 2 рдЕрдкрдбреЗрдЯ рдХреЗ рдЬрд░рд┐рдП рдЕрдкрдбреЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
2. рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдкрдбреЗрдЯ рдХреА рдпреЛрдЬрдирд╛ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рдЕрд░реНрдерд╛рддреН, рд╕рднреА рдЕрдиреБрдХреНрд░рдо рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ:
тАв рд▓рдЧрд╛рддрд╛рд░ рд╕рднреА рдкреИрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдлрд┐рд░ рдкреВрд░реНрдг рдПрдордПрд╕рдЖрдИ (рдареЛрд╕ рд▓рд╛рдЗрди) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
тАв 2 рдкреИрдЪ рдЫреЛрдбрд╝реЗрдВ, рддреАрд╕рд░рд╛ рдбрд╛рд▓реЗрдВ, рдФрд░ рдлрд┐рд░ рдореИрдВ msi (рдзрд░рд╛рд╢рд╛рдпреА) рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред
тАв 1 рдкреИрдЪ рд▓рдЧрд╛рдПрдВ, 1 рд╕реНрдХрд┐рдк рдХрд░реЗрдВ, рдЕрдЧрд▓рд╛ рдбрд╛рд▓реЗрдВ рдФрд░ рдПрдордПрд╕рдЖрдИ рдХрд╛ рдкреВрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
тАв рдЖрджрд┐ред
рд╢реБрд░реВ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рдкреИрдЪ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Wix рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ 3 рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ (= рдЦрд╛рддреЗ рдореЗрдВ): xyz, x - рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг , y - рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг , z - рдмрд┐рд▓реНрдб рд╕рдВрдЦреНрдпрд╛ ред рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ ред
рдЗрд╕реА рд╕рдордп, 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдкрдбреЗрдЯ рд╣реИрдВ:

Wix рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП "рдмреЗрд╕"

Wix рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдЕрдкрдЧреНрд░реЗрдб рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 2 рдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
1. рдЙрддреНрдкрд╛рдж рддрддреНрд╡ рдХрд╛ рдЕрдкрдЧреНрд░реЗрдбрдХреЛрдб рд╡рд┐рд╢реЗрд╖рддрд╛ред
2. рдЙрддреНрдкрд╛рдж рддрддреНрд╡ рдХреА ProductCode рд╡рд┐рд╢реЗрд╖рддрд╛ред
рд╣рдо Package.Id рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред UpgradCode рдФрд░ ProductCode рдХреЛ рдХрдм рдмрджрд▓рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

рдЙрджрд╛рд╣рд░рдг

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕реНрдХрд░рдг 1.0 рд╣реИ, рд╣рдо рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╣рдо UpgradCode рдФрд░ ProductCode рдХреЛ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрдЬрди рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рдирдП рдорд╛рди рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдо рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдПрдХ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (1) рдФрд░ (2) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рдлрд▓рддрд╛ рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддреА рд╣реИ:

рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: * - рдорд╛рдореВрд▓реА рдЕрджреНрдпрддрди , ** - рдкреНрд░рдореБрдЦ рдЕрджреНрдпрддрди , *** - рдЫреЛрдЯрд╛ рдЕрджреНрдпрддрди

рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЪ рдирд┐рд░реНрдорд╛рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддреА рд╣реИ: рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ "рдмреЗрд╕" рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдПрдХ "рдлрд╛рдЗрдирд▓" рд╣реИред рдкреИрдЪ рдЬрдирд░реЗрд╢рди рдпреВрдЯрд┐рд▓рд┐рдЯреА рдПрдХ рдРрд╕рд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рддреА рд╣реИ, рдЬреЛ "рдмреЗрд╕" рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдЙрддреНрдкрд╛рдж рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ "рдлрд╛рдЗрдирд▓" рд╡рди рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Wix рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 2 рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: PatchWiz.dll рдФрд░ Wix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдореИрдВ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ред рдпрд╣ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдмрд╕ рдЧрдП (рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рдкрд░ рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╕рдВрддреБрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

PatchWiz.dll рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Wix рдкрд░ рдПрдХ рдкреИрдЪ рдмрдирд╛рдирд╛


рдкреИрдЪрд╡рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рд╣рдо msimsp.exe рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ), рдиреНрдпреВрдирддрдо 2 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреИрдХреЗрдЬ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ 2 рдПрдордПрд╕рдЖрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ) рдФрд░ рдПрдХ рдкреИрдЪ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ (рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкреИрдЪ редwxs рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред рдореИрдВ рдЙрди рд╕рднреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд▓реЗрдЦ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░реВрдВрдЧрд╛ред (рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ )

1. рдкрд╣рд▓рд╛ Patch.wxs рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдкреИрдЪрдХреНрд░рд┐рдПрд╢рди рддрддреНрд╡ рд╣реИред

<PatchCreation Id="{42D7EE3B-A712-4AD4-9B23-A8710FC486FA}" Codepage="1251" CleanWorkingFolder="yes" OutputPath="patch.pcp" WholeFilesOnly="yes"> 

рдпрд╣рд╛рдВ:
Id - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдбреА рдкреИрдЪ, рд╣рдореЗрд╢рд╛ рдирдпрд╛ред
рдХреЛрдбрдкреЗрдЬ - рдкреАрд╕реАрдкреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдордзреНрдпрд╡рд░реНрддреА (рд╣рдорд╛рд░реЗ рд▓рд┐рдП) рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреГрд╖реНрдаред
CleanWorkingFolder - рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВред
OutputPath - рдкрде рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдоред
WholeFilesOnly - рдкреИрдЪ рдореЗрдВ рд╣рдо рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рди рдХреЗрд╡рд▓ рдЙрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдмреНрд▓реЙрдХред

рдкреИрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рддрддреНрд╡ рдкреИрдЪрдХреНрд░рд┐рдПрд╢рди рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдпрд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ (рдкреИрдЪрдореЗрдЯреЗрдЯрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрддреНрд╡ рд╣реИ)ред

 <PatchInformation Description=" " Comments="   1.1" Manufacturer="  "/> <PatchMetadata AllowRemoval="yes" Description=" " ManufacturerName="  " TargetProductName="" MoreInfoURL="http://./" Classification="Update" DisplayName="    1.1"/> 

рдФрд░, рд╢рд╛рдпрдж, рдореБрдЦреНрдп рдмрд╛рдд: рд╣рдо рдЙрди рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореВрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдПрдВ рдФрд░ рдЕрдВрддрд┐рдо рдПрдХ рдЭреВрда рд╣реИред

 <Family DiskId="2" Name="Yasen" SequenceStart="5000"> <UpgradeImage SourceFile="C:\Work\Yasen\v1.1\Setup.msi" Id="NewPackage"> <TargetImage SourceFile="C:\Work\Yasen\v1.0.8\Setup.msi" Order="2" Id="BasePackage1"/> <TargetImage SourceFile="C:\Work\Yasen\v1.0\Setup.msi" Order="3" Id="BasePackage2"/> </UpgradeImage> </Family> 

рдпрд╣рд╛рдВ:
DiskId - рдореАрдбрд┐рдпрд╛ рдЯреЗрдмрд▓ рдореЗрдВ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛, рдмреЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдореАрдбрд┐рдпрд╛ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд╛рдо - рдЕрдкрдбреЗрдЯ рд▓рд╛рдЗрди рдХрд╛ рдирд╛рдоред рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╛рд░рд┐рд╡рд╛рд░рд┐рдХ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрддреНрдкрд╛рдж рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред
SequenceStart - InstallExecuteSequence рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛, рдореМрдЬреВрджрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдЗрд╕рдХреА рд▓рд╛рдЧрдд 5000 рд╣реИред рдпрд╣ рдорд╛рди рдорд╛рдирдХ Wix рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдЗрд╕ рдкрд░ рд╡рд┐рд╡рд░рдг рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╡рд┐рдХреНрд╕ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)

рдПрд▓рд┐рдореЗрдВрдЯ рдЕрдкрдЧреНрд░реЗрдбрдЗрдореЗрдЬ - рдЕрдВрддрд┐рдо рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
SoureFile - рдЕрдВрддрд┐рдо рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдкрде (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ "рдЕрдирдкреИрдХреНрдб" рд╕рдВрд╕реНрдХрд░рдг рдкрд░, рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)
рдЖрдИрдбреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред

TargetImage рдПрд▓рд┐рдореЗрдВрдЯ - рдЙрди рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд░реНрддрдорд╛рди рдЕрдкрдбреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
SourceFile - рдмреЗрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд░рд╛рд╕реНрддрд╛ред
рдЖрджреЗрд╢ - рдЖрдзрд╛рд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо (рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред
рдЖрдИрдбреА рдЖрдзрд╛рд░ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред

рдФрд░ PatchCreation рдХреЗ рдЕрдВрдд рдореЗрдВ, PatchSequence рддрддреНрд╡ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ

 <PatchSequence PatchFamily= "Yasen" Sequence="1.1.0.0" Supersede="yes" ProductCode="{7381ABA7-774B-4D44-BD7B-0A90BBCF2B0A}" /> 

рдпрд╣рд╛рдВ:
рдкреИрдЪрдлрд╝реИрдорд┐рд▓реА - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрдЪ рдХрд┐рд╕ рд░реЗрдЦрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдХреНрдпрд╛ рд╣рдордиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ?)
рдЕрдиреБрдХреНрд░рдо - рдкреИрдЪ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдж рдХрд░рдирд╛ рдХрд┐ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдкреИрдЪ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдереЗред Xxxx рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛
рд╕реБрдкрд░рд╕реЗрдб - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреИрдЪ рдкрд┐рдЫрд▓реЗ рд╕рднреА рдкреИрдЪ (рд╕рдВрдЪрдпреА рдкреИрдЪ) рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
ProductCode - рдЙрддреНрдкрд╛рдж рдХреЛрдб (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рддрд╛рдХрд┐ рдЧрд▓рддреА рди рд╣реЛ)ред

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдФрд░ рд╕реНрдерд╛рдкрдирд╛


рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкреИрдЪ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░реЗрдВ:

1. рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд╛ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

 msiexec.exe /a 1.0\product.msi /qb TARGETDIR=C:\sample\1.0\admin msiexec.exe /a 1.1\product.msi /qb TARGETDIR=C:\sample\1.1\admin 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PatchCreation рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрде рдХреЛ рдЗрди "рдЕрдирдкреИрдХреНрдб" рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C: \ sample \ 1.0 \ admin \ product.msi

2. рд╣рдо Wix рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 candle.exe patch.wxs light.exe patch.wixobj -out patch.pcp 

3. рд╣рдо рдкреИрдЪрд╡рд┐рдЬ рд╕реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
 msimsp.exe -s patch.pcp -p patch.msp -l patch.log 

рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рд╣рдореЗрдВ рд╡рд╣реА рдорд┐рд▓рд╛ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗ!

рдкрд░рд┐рдгрд╛рдо


рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреИрдЪ рдорд┐рд▓рд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдЪрд╛рд╣рд┐рдП:


рддрджрдиреБрд╕рд╛рд░, рдЗрди рдЕрд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рджреВрд╕рд░рд╛ рднрд╛рдЧ рд▓рд┐рдЦреВрдВрдЧрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред

рд╕рдВрджрд░реНрдн:
рд╡рд┐рдХреНрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ (рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓)
рд╡рд┐рдХреНрд╕ - рдкреИрдЪ рдмрдирд╛рдирд╛
MSDN - рдкреИрдЪрд┐рдВрдЧ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб

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


All Articles