[ Top�y�[�W�֖߂� ] [ Windows�����֖߂� ]

Windows���Wix�����WixEdit���g�����C���X�g�[���쐬

�@

�͂��߂�

�����ō�����v���O������f�[�^���A�z�z�����v���O�����̂悤�ɁA�C���X�g�[���ŃC���X�g�[���^�A���C���X�g�[�����邱�Ƃ��ł���ƕ֗��ł��B�܂��A�A�b�v�f�[�g��p�b�`�X�V�Ƃ��������p���ł���ƂȂ��悢�ł��BWindows�ł́AMSI�`���̃C���X�g�[�����쐬���邱�ƂŎ����ł��܂��B

�c�[��WiX/WixEdit�ɂ‚���

Windows Installer XML�iWix�j�́A�}�C�N���\�t�g���X�|���T�[�ƂȂ��Ă���I�[�v���\�[�X�c�[���ł��B�C���X�g�[���ݒ����XML�ŋL�q���A�R�}���h��MSI�`���̃t�@�C�����쐬���܂��B

�ݒ�����ꂩ���ŋL�q����̂͑�ςȂ̂ŁA�ʓr�I�[�v���\�[�X�̃c�[��WixEdit���g���ƕ֗��ł��BWixEdit�́A�ݒ����XML�t�@�C����GUI�ŕҏW���܂��B

����ƃC���X�g�[��

WiX�́A�ȉ�URL������肵�܂��B

2012�N9��30�����݁A�ŐV�o�[�W������3.6�iWiX36.exe�j�ł��B

WixEdit�́A�ȉ�URL������肵�܂��B

2012�N9��30�����݁A�ŐV�o�[�W������0.7.5�iwixedit0.7.5.msi�j�ł��B

�܂��A���҂��C���X�g�[�����܂��B

WiX�́A�W���ł�C:\Program Files (x86)\WiX Toolset v3.6 �ɃC���X�g�[������܂��i64bit Windows�j�B�c�[���̓R�}���h�Œ񋟂����̂ŁA�ȉ��p�X���‹��ϐ�PATH�ɒlj����Ă����܂��B

C:\Program Files (x86)\WiX Toolset v3.6\bin

�ʏ�g���R�}���h�́Acandle.exe �� light.exe �ł��B�‹��ϐ�PATH��ݒ肵����A�R�}���h�v�����v�g����candle�R�}���h�Alight�R�}���h�����s�ł��邩�m�F���Ă����܂��B

WixEdit�́A�W���ł�C:\Program Files (x86)\WixEdit �ɃC���X�g�[������܂��BGUI�c�[���Ȃ̂ŁA�X�^�[�g���j���[����[WixEdit]>[WixEdit]�����s���܂��B

�Q�l���

WiX�Ɋւ���Q�l���������܂��B

�ŏ��̃C���X�g�[���쐬 - HelloWix

�t�@�C��1�‚���Ȃ�\�t�g�E�F�A���AC:\Program Files\hellowix�ɃC���X�g�[������P���ȃC���X�g�[�����쐬���܂��B

��Ə���

�܂��A��ƃf�B���N�g�������A�C���X�g�[������t�@�C����u���܂��B�t�@�C���͉��ł��悢�ł����A�ȍ~�̐����ł́AHelloWix.cmd �Ƃ����t�@�C�����g�p���܂��B

C:\work> mkdir hellowix
C:\work> cd hellowix
C:\work\hellowix> dir /B 
HelloWix.cmd
C:\work\hellowix>

�ݒ���XML�t�@�C���쐬

���ɁAWixEdit���N�����ăC���X�g�[���ݒ���L�q����XML�t�@�C�����쐬���܂��B�����ł�hellowix.wxs�Ƃ��܂��B

Wi��Edit�N����A[File]>[New]��I�ԂƁA�uWixEdit wizard�v�_�C�A���O���\��܂��B[Next]�������ƁA�uAdd files and folders to install.�v��ʂɂȂ�܂��B

�E�B�U�[�h�Ŏw�肵�Ȃ��Ă��A��Ńf�B���N�g���^�t�@�C���̒lj��͂ł���̂ŁA�����͒lj�������[Next]�Ŏ��֐i�݂܂��B

WixEdit 0.7.�T�ŁA���̃E�B�U�[�h��Œlj������t�@�C���̃p�X���ɖ�肪����܂����i��΃p�X����h���C�u���^�[���������w��ƂȂ��Ă��܂��j�B

���́A�uSelect features to add�v��ʂɂȂ�܂��B

�C���X�g�[���Ɋ܂߂�@�\���w�肷�邱�Ƃ��ł��܂��B��Ԏg���̂́A�C���X�g�[����f�B���N�g����I��������A�C���X�g�[������R���|�[�l���g��I�������肷��GUI��lj�����"Add Userinterface"�A�C���X�g�[�����Ƀf�X�N�g�b�v��X�^�[�g���j���[�ɃV���[�g�J�b�g���쐬����@�\�Ǝv���܂��B����̓V���v���ȃC���X�g�[�������̂Ŏw��͂����A[Next]�{�^���������܂��B

�E�B�U�[�h�͂���Ŋ�������̂ŁA[Finish]�@�{�^���������܂��B

��������A�K�v�Ȑݒ�����L�q���āAHelloWix�C���X�g�[�������������܂��B

�܂��A�^�񒆂̃c���[�\���p�l�����"Product"��I�����܂��B�E����Product�v�f�̑������ꗗ�\������܂��B

Product�v�f�Ɋւ��鑮���̒�`
����  ���e  ���l 
 Id  Windows���C���X�g�[�����鐻�i�����ʂ���ID�B����ID���ꏏ���Ǔ��ꐻ�i�ƔF������̂ŁA���ɃC���X�g�[������Ă��鐻�i��ID�Ɠ���ID���g���Čォ��C���X�g�[������ƃG���[�ƂȂ�B
�����o�[�W�����𓯎��ɃC���X�g�[���”\�Ƃ���Ƃ��͓������i�ł�����ID��ς���i�Ǝv����j�B
�f�t�H���g�̂܂܂ł悢 
 Language  �C���X�g�[�����\�������ʂɕ\���e�L�X�g�̌�����w�肷��B ���{��ɂ������̂ŁA�u1041�v�ɕύX���� 
 Codepage*�P  �C���X�g�[�����e�L�X�g�̕\���Ɏg�p���镶���R�[�h���w�肷��B ���{��Windows�W���ɍ��킹�āu932�v�ɕύX���� 
 Manufacture  ���i�̍쐬�ҁi���{��ŋL�q����Ƃ��͌�q��Package�v�f�ɑ���SummaryCodepage�̎w������Ȃ��ƁAMSI�t�@�C���̃v���p�e�B�[�ڍׂō쐬�җ������������ƂȂ�j �����̖��O���L�q 
 Name  ���i���BWindows�̃A���C���X�g�[���ňꗗ�ɕ\������閼�O  �uHelloWix�T���v�� 1.0�v
 UpgradeCode  Id���قȂ�Ƃ��AUpgradeCode����v����΁A���ꐻ�i�̃o�[�W�����Ⴂ�ƔF�������B �f�t�H���g�̂܂܂ł悢 
 Version  �o�[�W�����ԍ����L�ڂ���B���l4���ڂ��s���I�h��؂�Ŏ����B
���W���[�ԍ�.�}�C�i�[�ԍ�.�r���h�ԍ�.���[�U�[��`�ԍ�
�@���W���[�ԍ���255�ȉ��̐����A�}�C�i�[�ԍ���255�ȉ��̐����A�r���h�ԍ���65535�ȉ��̐����B
�@���[�U�[��`�ԍ��͏ȗ��”\�A�C���X�g�[���͊֒m���Ȃ��B
�u1.0.0�v�Ƃ��� 

*1�j WixEdit�̃E�B�U�[�h���������Codepage�������\������Ă��Ȃ��̂ŁA�����y�C����"Product"��I����Ԃɂ��A�E���y�C���̗]���ʼnE�N���b�N���|�b�v�A�b�v���j���[��[New]��I���A�uNew Attribute Name�v�_�C�A���O���\�������̂ŁA"Codepage"��I������B�L�q���I��������_�ňȉ��̉�ʂƂȂ�B

�����āA�^�񒆂̃c���[�\���p�l�����"Package"��I�����܂��B�E����Package�v�f�̑������ꗗ�\������܂��B

Package�v�f�Ɋւ��鑮���̒�`
����  ���e  ���l 
Comments MSI�`���t�@�C���̃v���p�e�B-�ڍׂʼn{���ł���R�����g�����L�ڂ���B�i���{��ŋL�q����Ƃ��͑���SummaryCodepage�̎w������Ȃ��ƁAMSI�t�@�C���̃v���p�e�B�[�ڍׂ̃R�����g�����������������j �uThis installer database contains the logic and data required to install HelloWix Sample.�v
 Compressed MSI�`���t�@�C���̈��k�L���B �f�t�H���g�̂܂܂ł悢 
 Description ���i�̐������L�q����B�i���{��ŋL�q����Ƃ��͑���SummaryCodepage�̎w������Ȃ��ƁAMSI�t�@�C���̃v���p�e�B�[�ڍׂŌ����������������ƂȂ�j �u�ȒP�ȃ��b�Z�[�W��W���o�͂ɏo�͂���o�b�`�R�}���h�v
 InstallVersion ��������MSI�`���t�@�C�����C���X�g�[���”\��Windows Installer�o�[�W���� �f�t�H���g�̂܂܂ł悢 
SummaryCodepage*2 MSI�t�@�C���̃v���p�e�B�[�ڍׂŕ\������镶���R�[�h�̎w�� ���{��Windows�W���ɍ��킹�āu932�v�ɕύX����

*2�j WixEdit�̃E�B�U�[�h���������SummaryCodepage�������\������Ă��Ȃ��̂ŁA"Package"��I��������ԂʼnE���y�C���̏�ʼnE�N���b�N���|�b�v�A�b�v���j���[��[New]��I���A�uNew Attribute Name�v�_�C�A���O���\�������̂ŁA"SummaryCodepage"��I������B�L�q���I��������_�ňȉ��̉�ʂƂȂ�B

�ݒ��̉�ʂ��ȉ��Ɏ����܂��B

���ɁA�C���X�g�[������t�@�C���ƃC���X�g�[����̃f�B���N�g���ɂ‚��Đݒ���L�q���܂��B�����y�C����[Files]��I�����܂��B

�����Wix�ݒ�t�@�C����Directory�v�f�̃c���[��\�������̂ŁA�g�b�v���x���v�f��"SourceDir"�͕K�{���ڂƂȂ��Ă��܂��B"PFiles"�́A�f�B���N�g���̃v���p�e�B ProgramFilesFolder �ŁA�ʏ�C:\Program Files���w���܂��B

����A�C���X�g�[�����C:\Program Files\hellowix�Ƃ���̂ŁA�^�񒆂̃c���[�\���p�l�����"PFiles"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New]>[Directory]��I�����܂��B

�E���AId���̉E���i��ʂł͌����ɂ����ł����A�e�L�X�g���͉”\�ȃG���A�j���N���b�N���A"hellowix"����͂��܂��B

�f�B���N�g���́A����PFiles�̂悤�ɁAId��Name���K�v�ł��B�����ł�Id�����L�q���Ă��Ȃ��̂ŁAName��lj����܂��B�^�񒆂̃c���[�\���p�l�����"hellowix"��I��������ԂŁAId�̕\������Ă���̈�ʼnE�N���b�N���|�b�v�A�b�v���j���[����[New]��I�����܂��B

�ꗗ����[Name]��I����[Ok]�{�^���������܂��B

�f�B���N�g���v�f"hellowix"��Name�������lj�����܂����BName���̉E���N���b�N���A���ۂɍ쐬����f�B���N�g����"hellowix"����͂��܂��B

�C���X�g�[����̎p�́A����hellowix�f�B���N�g���̉��Ƀt�@�C��HelloWix.cmd��u���܂����AWix��XML�ł�Directory�v�f�̎q�v�f��Component�v�f��u���̂ŁA�^�񒆂̃c���[�\���p�l�����"hellowix"��I�����E�N���b�N�Ń|�b�v�A�b�v���j���[����[New]>[Component]��I�����܂��B

Component�ɂ́AGuid��Id���L�q����悤�ł��BGuid�̉E�����N���b�N����ƁA[...]�{�^��������܂��B

Guid���̉E����[...]�{�^����������GUID�������������܂��B

Id���ɂ́A�t�@�C�����Ɠ���"HelloWix.cmd"���L�q���܂��B�P�‚�Component�ɂ͕����̃t�@�C����Ή��Â����܂����A�t�@�C��1�‚ɑΉ�����悤��Component���쐬����̂��x�X�g�v���N�e�B�X�Ƃ���Ă��܂��B

�쐬�����R���|�[�l���g"HelloWix.cmd"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����"Import Files"��I�����A��ƃf�B���N�g���ɔz�u���Ă���HelloWix.cmd��I�т܂��B

���ɁA[Features]�^�u��I�����܂��B

�^�񒆂̃c���[�\���p�l�����"DefaultFeature"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New]>[ComponentRef]��I�����܂��B

�^�񒆂̃c���[�\���p�l�����"ComponentRef"��I�����AId���̉E�����N���b�N����ƁA�h���b�v�_�E���{�^��[��]���\��܂��B

�h���b�v�_�E���{�^�����N���b�N����ƁA���쐬��Component��ID�ꗗ���\���̂ŁA�w�肵�܂��B


�ŏ��̃T���v���ɕK�v�Ȑݒ���L�q�����̂ŁA�ݒ�t�@�C����ۑ����܂��B[File]���j���[>[Save]�ŁA��ƃf�B���N�g����"hellowix.wxs"�̖��O�ŕۑ����܂��B

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="A1302F32-6C23-48F1-A1BB-BA833CDD6C38"
           Name="HelloWix�T���v�� 1.0" Language="1041" Version="1.0.0"
           Manufacturer="�����@�O"
           UpgradeCode="5C2E7363-E797-4B2E-B3D1-4B762F5C5E8E"
           Codepage="932">
    <Package Description="�ȒP�ȃ��b�Z�[�W��W���o�͂ɏo�͂���o�b�`�R�}���h�B"
             Comments="This installer database contains the logic and data required to install HelloWix Sample."
             InstallerVersion="200" Compressed="yes" />
    <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder" Name="PFiles">
        <Directory Id="hellowix" Name="hellowix">
          <Component Id="HelloWix.cmd"
                     Guid="3E23BA5F-5B49-4261-8391-33B7909E9DD8">
            <File Id="HELLOWIX.CMD" Name="HelloWix.cmd" Source="HelloWix.cmd" />
          </Component>
        </Directory>
      </Directory>
    </Directory>
    <Feature Id="DefaultFeature" Title="Main Feature" Level="1">
      <ComponentRef Id="HelloWix.cmd" />
    </Feature>
    <UI />
  </Product>
</Wix>

MSI�`���t�@�C���̐���

XML�t�@�C������MSI�`���t�@�C���𐶐����܂��B�����ߒ��͎��̂Ƃ���ł��B

XML�t�@�C�� (hellowix.wxs)
         �b candle�R�}���h
         ��
���ԃt�@�C��(hellowix.wixobj)
         �b light�R�}���h
         ��
MSI�t�@�C�� (hellowix.msi)

�܂��Acandle�R�}���h�ŁAXML�t�@�C�����璆�ԃt�@�C���𐶐����܂��B

C:\work\hellowix> candle hellowix.wxs
Microsoft (R) Windows Installer Xml Compiler version 3.5.2519.0
Copyright (C) Microsoft Corporation. All rights reserved.

hellowix.wxs

C:\work\hellowix> dir /B
HelloWix.cmd
hellowix.wixobj
hellowix.wxs

C:\work\hellowix> 

���ɁAlight�R�}���h�ŁA���ԃt�@�C������MSI�`���t�@�C���𐶐����܂��B

C:\work\hellowix> light -cultures:ja-jp hellowix.wixobj 
Microsoft (R) Windows Installer Xml Linker version 3.5.2519.0
Copyright (C) Microsoft Corporation. All rights reserved.

C:\work\hellowix> dir /B
HelloWix.cmd
hellowix.msi
hellowix.wixobj
hellowix.wixpdb
hellowix.wxs

C:\work\hellowix> 

Wix 3.5�ɂ́A���{�ꃊ�\�[�X���܂܂�Ă���̂ŁA-cultures�I�v�V�����Ń��P�[�����w�肷�邱�ƂŃC���X�g�[���̌�����w�肷�邱�Ƃ��ł��܂��B-cultures���w�肵�Ȃ��Ƃ��́A�f�t�H���g�̉p��ɂȂ�܂��B

�C���X�g�[���̎��s

�ł́A���ۂɃC���X�g�[�����s���Ă݂܂��B�쐬���ꂽhellowix.msi�����s���܂��B

Windows 7��UAC��L���ɂ��Ă���ƁA�����Łu���[�U�[�A�J�E���g����v�_�C�A���O���\�������̂ŁA[�͂�]�������Đi�߂܂��B

�C���X�g�[������������Ǝ����Ń_�C�A���O�������܂��B�m�F���Ȃ��̂ŁA�C�Â��Ȃ���������܂���B

�C���X�g�[�����ꂽ���ǂ������AWindows�̃R���g���[���p�l�� > �v���O�����̃A���C���X�g�[�� �Ō���ƁA�ȉ��̂悤�Ƀ��X�g�ɍڂ��Ă܂��B

�C���X�g�[����Ɏ��ۂɃt�@�C���������������G�N�X�v���[���Ŋm�F���Ă݂܂��B

64bit OS�ł́AWiX��XML�ŃC���X�g�[����f�B���N�g����ID��"ProgramFilesFolder"���w�肵���ꍇ�AC:\Program Files (x86) �̂悤��32bit�p�v���O�����i�[�f�B���N�g�����K�p����܂��BC:\Program Files �̂悤��64bit�p�v���O�����i�[�̈���w�肵�����Ƃ��́A�f�B���N�g����ID��"ProgramFiles64Folder"���w�肵�܂��B

�������A���̎w������č쐬����MSI�t�@�C����32bit OS�Ŏ��s�����ꍇ�ǂ��Ȃ邩�͖��m�F�ł��B

�A���C���X�g�[���̎��s

�R���g���[���p�l���̃v���O�����̃A���C���X�g�[����ŁAHelloWix�T���v�� 1.0���_�u���N���b�N���܂��B

Windows 7��UAC��L���ɂ��Ă���ƁA�����Łu���[�U�[�A�J�E���g����v�_�C�A���O���\�������̂ŁA[�͂�]�������Đi�߂܂��B

�C���X�g�[�����ύX�”\�Ƃ���UI��t����

�ŏ��̃T���v���́A�C���X�g�[����̕ύX���ł��Ȃ����߁A���ۂɎg���ɂ͕s�ւł��B

WixEdit�ŁAUI�̒lj��ݒ�

Wi��Edit�𗧂��グ�A[File] > [Open] �ōŏ��̃T���v�� hellowix.wxs ���J���܂��B

�����p�l����[Global]��I���A�^�񒆂̃c���[�\���p�l�����"Product"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New] > [UIRef]��I�����܂��BProduct�v�f�̎q�v�fUIRef���쐬����܂��B

�^�񒆂̃c���[�\���p�l�����"UIRef"��I�����A�E����Id����"WixUI_InstallDir"���L�q���܂��B

�����\���p�l�����"Properties"��I�����A�E���\���p�l���ʼnE�N���b�N���|�b�v�A�b�v���j���[��"Add New"��I�����܂��B

�uEnter Resource Name�v�_�C�A���O���\���̂ŁA"WIXUI_INSTALLDIR"����͂�[Ok]�{�^���������܂��B

WIXUI_INSTALLDIR���̉E�����N���b�N���A"hellowix"����͂��܂��B�����œ��͂��镶����i"hellowix"�j�́A�f�B���N�g���v�f�̃c���[�ŕύX�”\�Ƃ������f�B���N�g���v�f��id���w�肵�܂��B���̃T���v���ł́A�f�B���N�g���c���[ PFiles>hellowix �̒���hellowix�iid="hellowix"�j ��ύX�”\�Ƃ��Ă��܂��B

[File]���j���[ > [Save]��I������XML�t�@�C���ihellowix.wxs�j��ۑ����܂��B

XML�t�@�C����ł̈Ⴂ���ȉ���diff�`���Ŏ����܂��B

$ bzr diff hellowix.wxs 
=== modified file 'hellowix.wxs'
--- hellowix.wxs        2011-05-28 15:14:56 +0000
+++ hellowix.wxs        2011-05-28 23:53:54 +0000
@@ -16,5 +16,7 @@
             <ComponentRef Id="HelloWix.cmd" />
         </Feature>
         <UI />
+        <UIRef Id="WixUI_InstallDir" />
+        <Property Id="WIXUI_INSTALLDIR" Value="hellowix" />
     </Product>
 </Wix>

MSI�`���t�@�C���̐���

�lj��C������hellowix.wxs����MSI�t�@�C���𐶐����܂��B

�܂��Acandle�R�}���h�����s���A���ԃt�@�C���𐶐����܂��B����͑O��Ɠ����ł��B

C:\work\hellowix> candle hellowix.wxs
Microsoft (R) Windows Installer Xml Compiler version 3.5.2519.0
Copyright (C) Microsoft Corporation. All rights reserved.

hellowix.wxs

C:\work\hellowix> dir /B
HelloWix.cmd
hellowix.wixobj
hellowix.wxs

C:\work\hellowix> 

���ɁAlight�R�}���h�ŁA���ԃt�@�C������MSI�`���t�@�C���𐶐����܂��BUIRef��lj������ꍇ�A�I�v�V�����w��h-ext WixUIExtension"���lj��ŕK�v�ɂȂ�܂��B

C:\work\hellowix> light -ext WixUIExtension -cultures:ja-jp hellowix.wixobj 
Microsoft (R) Windows Installer Xml Linker version 3.5.2519.0
Copyright (C) Microsoft Corporation. All rights reserved.

C:\work\hellowix>

�C���X�g�[���̎��s

�ł́AUIRef��lj��������̂ŃC���X�g�[�����s���Ă݂܂��B�쐬���ꂽhellowix.msi�����s���܂��B

[����]�{�^���������܂��B

���C�Z���X������ʂ��o�܂��B[�g�p�����_�񏑂ɓ��ӂ��܂�]���`�F�b�N�����[����]�{�^����������悤�ɂȂ�̂ŁA�`�F�b�N��t���Ă���A[����]�{�^���������܂��B

�Ȃ��A�����ł́AWiX�̃��C�Z���X�ł���CPL���f�t�H���g�Ŏg���Ă���܂����A�{���̓C���X�g�[���Ώۂ̐��i�̃��C�Z���X��\������K�v������܂��B���C�Z���X�̐ݒ�͎��̏͂ʼn�����܂��B

�C���X�g�[����̎w�肪�ł���悤�ɂȂ�܂����B���ڃf�B���N�g�������C�����邩�A[�ύX...]�{�^���������āA�t�@�C���I���_�C�A���O�ŃC���X�g�[������w�肵�܂��B

�C���X�g�[�����ύX���Ă݂܂����B

[����]�{�^���������ƁA�C���X�g�[���I���ł��B

�g�p�����̓��e��ύX����

�f�t�H���g�ł͎g�p�����̓��e�́ACPL�iCommon Public License�j�ƂȂ��Ă��܂��B����́AWiX�̃��C�Z���X�ł��̂ŁA���ۂɐ��i�ɓK�p���郉�C�Z���X���ʂɕύX����K�v������܂��B

���C�Z���X���ʂ̏����iRTF�`���j

���C�Z���X���ʂ�RTF�`���̃t�@�C���ŗp�ӂ��܂��BRTF�`����Windows�ɕW���œ��ڂ���Ă��郏�[�h�p�b�h�ō쐬���邱�Ƃ��ł��܂��B

�����ł́AMIT���C�Z���X�̕��ʂ��g���Ĉȉ��̃e�L�X�g���ARTF�`���ŕۑ��”\�ȃc�[���i�����ł̓��[�h�p�b�h�j��ō쐬���܂��B

The MIT License

Copyright (c) 2011 TAKAHASHI,Toru

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

������A���O��t���ĕۑ��ŁA���b�`�e�L�X�g�@�h�L�������g�`����license-mit.rtf�ɕۑ����܂��B

WixEdit�Ń��C�Z���X���ʂ̐ݒ�L�q��lj�

Wi��Edit�𗧂��グ�A[File] > [Open] �ōŏ��̃T���v�� hellowix.wxs ���J���܂��B

�����p�l����[Global]��I���A�^�񒆂̃c���[�\���p�l�����"Product"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New] > [WixVariable]��I�����܂��B

Product�v�f�̎q�v�fWixVariable���쐬����܂��B

�E����Id�������Value���ɂ��ꂼ��"WixUILicenseRtf"�A"license-mt.rtf"���L�q���܂��B

[File]���j���[>[Save]�ŕۑ����܂��B

MSI�`���t�@�C���̐���

�lj��C������hellowix.wxs����MSI�t�@�C���𐶐����܂��B

candle�R�}���h�����s���A���ԃt�@�C���𐶐����܂��B����͑O��Ɠ����ł��B

C:\work\hellowix> candle hellowix.wxs

light�R�}���h�ŁA���ԃt�@�C������MSI�`���t�@�C���𐶐����܂��B�O��Ɠ����ł��B

C:\work\hellowix> light -ext WixUIExtension -cultures:ja-jp hellowix.wixobj 

�C���X�g�[���̎��s

WixVariable�v�f��lj����Đ��������C���X�g�[�������s���܂��B

�g�p�����̃_�C�A���O�ɕ\������镶�ʂ��A�w�肵�����e�ɕύX����Ă��܂��B

64bit�\�t�g�E�F�A�̃C���X�g�[���쐬

���L��64bit�ŃC���X�g�[���쐬�̎��s����������Ă��܂��B

64bit��OS�ł́AC:\Program Files\�f�B���N�g���ɃC���X�g�[���ł���\�t�g�E�F�A��64bit�łɌ��肳��A32bit�ł�C:\Program Files (x86)\�������̃f�B���N�g���ɂ���������܂���B

C:\Program Files\���ɃC���X�g�[���������\�t�g�E�F�A�́A64bit�łƂ��ăC���X�g�[�����쐬���܂��B

�Ȃ��A32bit�Ł^64bit�ł�1�‚ɂ܂Ƃ߂��C���X�g�[���͍쐬������A��{�͕ʁX�ɍ쐬���܂��B

64bit�ł̃C���X�g�[�����쐬����ɂ́A����2�‚̕��@������܂��B

64bit�R���|�[�l���g�𖾎��I�Ɏw��

�Ȃ��A32bit�A64bit�𗼕��쐬����\�t�g�E�F�A�ɂ‚��ẮA�����ɃC���X�g�[�����邱�Ƃ�z�肷��ΊeGUID�͕ʂɍ쐬����K�v������܂��B

�ȈՂɎw��

�����̃t�@�C���i�T�u�f�B���N�g���j������ - WixEdit��

���܂ł̃T���v���̍쐬�ł́A�t�@�C���^�f�B���N�g�������Ȃ����߁AWixEdit���Directory�v�f���P�‚P�쐬���AComponent�v�f���P�‚P�쐬���A�����Features�v�f�̉���ComponentRef�v�f���쐬����Component�����쐬���Ă��債����Ƃł͂���܂���ł����B

�������A�f�B���N�g���K�w�����•����̃t�@�C�����w�肷��ꍇ�A1��1�쐬����͎̂�ԂȂ̂ŁA�܂Ƃ߂ăC���|�[�g���܂��B

��Ə����[�f�B���N�g���^�t�@�C���\��

HelloWix�ɁA�f�B���N�g���K�w��lj����܂��B

C:\work\hellowix
          +-- HelloWix.cmd
          +-- doc
                +-- README.txt
                +-- plain
                |     +-- HowToHelloWix.txt
                +-- pdf
                |     +-- HowToHelloWix.pdf
                +-- html
                      +-- HowToHelloWix.html
                      +-- images
                            +-- wallpaper.gif
                            +-- wix.gif          

Wix�Ŏw��f�B���N�g���ȉ����܂Ƃ߂ăC���|�[�g

�����p�l����[Files]��I���A�^�񒆂̃c���[�\���p�l����ŃC���|�[�g�������f�B���N�g���̒���̃f�B���N�g���ł���"hellowix"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[Import Folder]��I�����܂��B

����ƁA�uBrowse For Folder�v�_�C�A���O���\������܂��B

�C���|�[�g�������f�B���N�g����I����[OK]�{�^���������܂��B

�w�肵��"doc"�t�H���_���lj�����Ă��܂��B�W�J����ƈȉ��̂悤�ɃT�u�f�B���N�g�����܂߂ăC���|�[�g����Ă���̂�������܂��B

����[Features]�^�u��I�����܂��B

�c�O�Ȃ���A�C���|�[�g�����t�H���_�̃R���|�[�l���g�iComponentRef�j�͐�������Ă��܂���B

�^�񒆂̃c���[�\���p�l�����"DefaultFeature"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[Select Components to add]��I�����܂��B

��`�ς݂�Component�v�f���ꗗ�����̂ŁA�����I�����i1��1�ƒN���b�N���đI���j�A[Ok]�{�^���������܂��B

���L�j�܂Ƃ߂đI�����鑀�삪���������܂���ł����B�N���b�N����ƑI����ԂƑI��������Ԃ��؂�ւ�邾���ł��B

�����̃t�@�C���i�T�u�f�B���N�g���j������ - heat��

WixEdit��"Import Folder"�@�\�ł��A���\�‚��z����t�@�C���Q��A�����̃f�B���N�g���K�w��ʁX�Ɉ����ꍇ�A�Ή�������ɂȂ�܂��B

�����ŁAheat�R�}���h���g���A�w�肵���f�B���N�g���ȉ��̃f�B���N�g���^�t�@�C���𑖍�����XML�f�[�^���t�@�C���ɐ��������A���̃t�@�C���ƍ��킹�ăC���X�g�[�����쐬������@���̂�܂��B

heat�R�}���h�Ńf�B���N�g���K�w����Fragment���𐶐�����

heat�R�}���h���g���āAdoc�f�B���N�g���ȉ��̊K�w�ɂ���f�B���N�g���^�t�@�C������C���X�g�[������XML�𐶐����܂��BXML�t�@�C���͕ʃt�@�C���Ƃ��āA�\���ύX�������Ă��ȒP�ɑΉ��ł���悤�ɂ��܂��BWix�ł́AFragment�v�f�����̖ړI�Ŏg���܂��B

C:\work\hellowix> heat dir doc -dr DOC -cg Documents -gg -g1 -sfrag -srd 
 -var "var.documentsDir" -out hellowix_files.wxs

heat�̃I�v�V�����͏��X���G�ő���ɂ킽���Ă��܂��B�����Ŏw�肵�Ă���I�v�V�����́A���ЁuWiX: A Developer's Guide to Windows Install XML�v��"Harvesting files with heat.exe"�ŏЉ�Ă�����̂ł��B

 �I�v�V����  ���e  ���l
dir �f�B���N�g���p�X
�f�B���N�g����ΏۂƂ���  heat�̑�1�����ɂ́A�ȉ��̂����ꂩ���w�肷�邱�Ƃ��K�{�B
dir | file | perf | project | website
�f�B���N�g���p�X�͐�������wxs�t�@�C���ɋL�q�����̂ŁAwix���s�f�B���N�g������̑��΃p�X���w��i�J�����g�f�B���N�g����'.'�w����j
-dr �f�B���N�g��ID
�f�B���N�g���Q��  �̎悵���f�B���N�g���^�t�@�C���̍\���iComponent�v�f�j���ǂ�Directory�v�f�ɂԂ牺���邩��ID�Ŏw��B����ID�����ƒf�B���N�g����WixEdit�̃v���W�F�N�g�ō쐬����B
���j-cg�I�v�V���������-dr�I�v�V�������w�肷��
-cg ���O
ComponentGroup�̖��O  �̎悵���f�B���N�g���^�t�@�C���\���S�̂�1�‚�ComponentGroup�ɑ��ˁA���̖��O�iID�j���w��B����ID��WixEdit�̃v���W�F�N�g��ComponentGroupRef�Ƃ��Ďg�p����B 
-gg
GUID���ꏏ�ɐ�������   
-g1
GUID��g���ʂň͂�Ȃ�   
-sfrag
Fragment�𕡐��������Ȃ�  Component����Fragment�𐶐����Ȃ��悤�ɂ���B 
-srd
�t�@�C�������݂���f�B���N�g�����g�͍̎悵�Ȃ�  WixEdit�̃v���W�F�N�g���痘�p����ꍇ�A�g�b�v�f�B���N�g����WixEdit���ō쐬���������s�����悢�̂Ŗ{�I�v�V�������w�肷��B 
-var �ϐ���
SourceDir��u��������ϐ����w��  �f�t�H���g�ł̓t�@�C���̃p�X��SourceDir/aaa/bbb�Ɛ擪��SourceDir�Ő�������A���light.exe���s���Ƀt�@�C�������݂��Ȃ��G���[�ɂȂ�B�����ŁASourceDir�ł͂Ȃ��ϐ��Ƃ��Č��candle.exe�̈����Ŏ��p�X���w��ł���悤�ɂ���B

�����ł́Adoc�f�B���N�g���ȉ��̃T�u�f�B���N�g�����܂ރt�@�C���\�����C���X�g�[���ΏۂƂ������iComponent�v�f�����File�v�f�Ƃ��Ďw�肵�����j�̂ŁA��1�����ɂ�"dir"���w�肵�܂��B

�t�@�C���\���́Adoc�f�B���N�g���̉��ɂȂ�̂ŁAhelloWix.wxs�ō쐬����doc�f�B���N�g����Directory�v�f��Id����"DOC"��-dr�I�v�V�����Ŏw�肵�܂��B-dr�I�v�V�������w�肷��ƁA<DirectoryRef>����������܂��B

heat�Ő�������XML�t�@�C���Ɋ܂܂��Component�v�f�́A-cg�Ŏw�肵�����O��ComponentGroup�v�f�Ɋ܂܂�܂��BhelloWix.wxs��Features�ł����ComponentGroupRef�Ŏw�肵�܂��B

��������Component�v�f��Guid�����ɁA�����I�ɍ쐬����GUID�𖄂߂܂��B-gg�I�v�V�������ȗ�����ƁA��Ŏ��Ƃ�GUID�𐶐����Ă܂���Ԃ�������܂��B

Guid�𐶐�����Ƃ��A�g���ʂň͂܂��̂�}�����邽�߁A-g1�I�v�V�������w�肵�܂��B

-sfrag�I�v�V�������w�肵�Ȃ��ƁA������Fragment�v�f�����������̂ŁA�w�肵�܂��B

-srd�I�v�V�������w�肵�Ȃ��ƁA-dr�Ŏw�肵����_�f�B���N�g����<Directory>�v�f�Ƃ��Đ��������̂ŁA�����ł͎w�肵�܂��B

-var�I�v�V�������w�肵�Ȃ��ƁA���������File�v�f��Source������SourceDir�Ŏn�܂邪�A���݂��Ȃ��f�B���N�g���Ȃ̂�candle/light���G���[�ƂȂ�܂��BSourceDir��}�~���A�ւ�ɂ����Ŏw�肵���ϐ�����Source�����Ŏg�p���܂��B�ϐ���candle�R�}���h���s���ɃR�}���h���C���I�v�V�����Œl���w�肵�܂��B�ϐ����́A"var.���O"�Ǝw�肵�A���candle�R�}���h�̃I�v�V������-d���O �Ŏw�肵�܂��B

�������ꂽhellowix_files.wxs�̗�����Ɏ����܂��B

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="DOC">
            <Component Id="cmp77761ECF8679B4C62AE2A6AB3FE92B05" Guid="0B7F8780-775F-43D3-A14C-CB0EF0073F2D">
                <File Id="filCF60C4117B50F933FBC3B2E0F8FD1030" KeyPath="yes" Source="$(var.documentsDir)\README.txt" />
            </Component>
            <Directory Id="dirAACD65895408F857FFA8BF0BB6A9DFAF" Name="html">
                <Component Id="cmpF0046594662B478047A79FF16B7E65FD" Guid="649BC99F-0F46-4D8C-A9B1-4A52E2D5276E">
                    <File Id="fil51532D04410AC4E3DC02A852999ADDDB" KeyPath="yes" Source="$(var.documentsDir)\html\HowToHelloWix.html" />
                </Component>
                <Directory Id="dir4D8B3CCBDA9F0DC1FC8529B055448E3E" Name="images">
                    <Component Id="cmpE6742917029449A18F374AD6F96701F3" Guid="5951687A-201E-4719-8A94-4A44C18AB25D">
                        <File Id="fil16E3AF1B3438C75A0D31B4CA5E53603D" KeyPath="yes" Source="$(var.documentsDir)\html\images\wallpaper.gif" />
                    </Component>
�@�@�@�@�@�@�@�F�i�����j
        </DirectoryRef>
    </Fragment>
    <Fragment>
        <ComponentGroup Id="documents">
            <ComponentRef Id="cmp77761ECF8679B4C62AE2A6AB3FE92B05" />
            <ComponentRef Id="cmpF0046594662B478047A79FF16B7E65FD" />
            <ComponentRef Id="cmpE6742917029449A18F374AD6F96701F3" />
            <ComponentRef Id="cmpD5D3D8EA07E3D8EC4C41D4A66AE7BA28" />
            <ComponentRef Id="cmp06108C2A6777B6537A5FCE19AC1E21BC" />
            <ComponentRef Id="cmp94765247247F4153524C01B85AB5AAF0" />
        </ComponentGroup>
    </Fragment>
</Wix>    

hellowix.wxs ��heat�Ő��������t�@�C���̐��������

hellowix.wxs���ɂ́A�ȉ���2�_�����f����Ă��邱�Ƃ��m�F���܂��B

  1. heat�Ő�������Ƃ���-dr�I�v�V�����Ŏw�肵���f�B���N�g��ID����`����Ă���
  2. head�Ő�������Ƃ���-cg�I�v�V�����Ŏw�肵��ComponentGroup��ID��Features��ComponentGroupRef�v�f���g���ĎQ�Ƃ��Ă���

WixEdit�ŁA�����p�l����[Files]��I���A�^�񒆂̃c���[�\���p�l�����"hellowix"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New] > [Directory]��I�����܂��B

�^�񒆂̃c���[�\���p�l����ŁA"hellowix"�̉���"Directory"�Ƃ������O�ŐV�K�쐬�����f�B���N�g�����\���̂ŁA�����I�����A�E���p�l����Id����"DOC"����͂��܂��B�E�E�E�m�F(1)�@heat��-dr�Ŏw�肵���f�B���N�g��ID�ƈ�v���邱�ƁB

�E���p�l���ʼnE�N���b�N���|�b�v�A�b�v���j���[����[New]��I���A�\�ꂽ"New Attribute Name"�_�C�A���O��[Name]��I����[Ok]�{�^���������܂��B�E���p�l�����Name����"doc"����͂��܂��B

���ɁA[Features]�^�u��I�����A�^�񒆂̃c���[�\���p�l�����"DefaultFeature"��I�����A�E�N���b�N�Ń|�b�v�A�b�v���j���[����[New] > [ComponentGroupRef]��I�����܂��B

�E���\���p�l����Id���ɁA"Documents"����͂��܂��B�E�E�E�m�F(2)�A-cg�Ŏw�肵���R���|�[�l���g�O���[�v���ƈ�v���邱�ƁB

MSI�`���t�@�C���̐����i�R�}���h�ҁj

�C������hellowix.wxs��heat�R�}���h�Ő�������hellowix_files.wxs����MSI�t�@�C���𐶐����܂��B

candle�R�}���h�����s���A���ԃt�@�C���𐶐����܂��Bhellowix_files.wxs����������Ƃ��́A�ϐ��Ɏ��̂��w�肵�܂��B

C:\work\hellowix> candle -nologo hellowix.wxs
hellowix.wxs

C:\work\hellowix> candle -nologo -ddocumentsDir=doc hellowix_files.wxs
hellowix_files.wxs

C:\work\hellowix> 

light�R�}���h�ŁA���ԃt�@�C������MSI�`���t�@�C���𐶐����܂��B�O��Ɠ����ł��B

C:\work\hellowix> light -nologo -ext WixUIExtension -cultures:ja-jp hellowix.wixobj hellowix_files.wixobj -out hellowix.msi

C:\work\hellowix>

�C���X�g�[���̎��s�͍��܂łǂ���ł��B

MSI�`���t�@�C���̐�����Wix Edit�̃r���h���j���[����s��

�R�}���h���C���̎��s�͕s�ւł��B�����ŁAWix Edit��[Build]���j���[ > [Build MSI setup pacakge]�Ő����ł���悤�A�r���h�Ŏ��s����R�}���h��`���C�����܂��B

Wix Edit��[Build]���j���[ > [Build Settings]��I�����A�uEdit Settings�v�_�C�A���O��\�����܂��B

Candle.exe�����Light.exe�̃R�}���h���s���`�ł��܂��B�`�F�b�N��t����ƃR�}���h���C����`��ҏW�ł���悤�ɂȂ�̂ŁA���ꂼ��`�F�b�N��t���ĕύX���܂��B

�L�q������`�͎��̂Ƃ���ł��B

Candle.exe�̃R�}���h���C��

"<projectfile>" "<projectname>_files.wxs" <extensions> -dsourceDir=.

Light.exe�̃R�}���h���C��

"<projectname>.wixobj" "<projectname>_files.wixobj" -out "<projectname>.msi" <extensions> -cultures:ja-jp

�p�b�`�p�̃C���X�g�[��

���ɃC���X�g�[���������i�ɂ‚��āA�ꕔ���������ւ���悤�ȁA������p�b�`���쐬���܂��B�p�b�`�p�C���X�g�[���͊g���q��.msp�ƂȂ���̂ŁA�\�t�g�E�F�A�̈ꕔ�̃t�@�C���������ւ�����A�lj��t�@�C�����C���X�g�[�����܂��B

Windows�̃C���X�g�[���ɂ́A�C���X�g�[���������i�̍X�V�ɂ͎���3��ނ�����܂��B

  1. ���W���[�E�A�b�v�O���[�h�i�傫�ȉ��C�j
  2. �}�C�i�[�E�A�b�v�O���[�h�i�����ȉ��C�j
  3. �X���[���E�A�b�v�f�[�g�i������Ƃ����X�V�j
 �X�V��� ���iID�̕ύX  �o�[�W�����ԍ��̕ύX  �p�b�`�t�@�C��(.msp�j�̉”� 
 ���W���[�E�A�b�O���[�h
�i����C�j
 ����  ����  ��
 �}�C�i�[�E�A�b�v�O���[�h
�i�����C�j
 �Ȃ�  ����  ��
 �X���[���E�A�b�v�f�[�g
�i�������ȍX�V�j
 �Ȃ�  �Ȃ�  ��

�����ł́A�X���[���A�b�v�f�[�g���s���Ă݂܂��B

��Ə����[�X�V�Ώۃt�@�C���̏C��

HelloWix�̍\���t�@�C���̂����A�ȉ��̃t�@�C�����C�����܂��B

C:\work\hellowix
          :
          +-- doc
          :     +-- README.txt

�p�b�`�ł́A�C���X�g�[���Ƃ��Ă��̕ύX���������܂񂾏����ȃC���X�g�[�����쐬���܂��B

�p�b�`�C���X�g�[���쐬�p��XML�L�q

WixEdit�ł͍쐬�ł��Ȃ��Ǝv����̂ŁA�G�f�B�^��1����L�q���܂��B�Ƃ����Ă��L�q�ʂ͏��Ȃ��ł��B

�Ȃ��A���̃p�b�`�t�@�C������уp�b�`��Ƃ́A�ʃf�B���N�g���ō�Ƃ���悤�ɁA�Ƃ̂��ƂŁi���Ђɂ��΁j�A

C:\work\hellowix-patch1
          +-- hellowix-patch1.wxs

�Ƃ��Ă����܂��B

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Patch AllowRemoval="yes"
         Classification="Update"
         Comments="Patch for HelloWix Sample v. 1.0.0"
         Description="Updates document top file of HelloWix Sample v. 1.0.0"
         DisplayName="HelloWix Sample Patch 2011-05-30"
         Manufacturer="���� �O"
         Codepage="932">

    <Media Id="1000" Cabinet="MyPatch.cab">
      <PatchBaseline Id="MyPatch" />
    </Media>

    <PatchFamily Id="MyPatchFamily"
                 Version="1.0.1"
                 ProductCode="A1302F32-6C23-48F1-A1BB-BA833CDD6C38"
                 Supersede="yes">
      <ComponentRef Id="cmp77761ECF8679B4C62AE2A6AB3FE92B05" />
    </PatchFamily>
  </Patch>
</Wix>

Wix�v�f�̎q�v�fPatch�ɕK�v�ȏ����`���܂��B

AllowRemoval�����́A���̃p�b�`��K�p������A�p�b�`�������O�����Ƃ��ł��邩��"yes"�A"no"�Ŏw�肵�܂��B�p�b�`���O���w��ɂ����ꍇ�A�ȉ��̃R�}���h�Ńp�b�`���O���܂��B

msiexec /i hellowix.msi MSIPATCHREMOVE=C:\work\hellowix-patch1.msp

Classification�����́A�p�b�`�̕��ނ��w�肵�܂��B�ȉ��̑I����������܂��B
Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup

Comments������Description�����ɂ̓p�b�`�Ɋւ���ڍ׏����L�q���܂��B

DisplayName�����̓p�b�`�t�@�C���ɂ‚��ă��[�U�[�ɕ�����₷�����O���L�q���܂��B

Manufacturer�̓\�t�g�E�F�A����ҁ^�J����Ђ��L�q���܂��B

�����ɂ͋L�ڂ��Ă��܂��񂪁AMoreInfoURL�����ATargetProductName�������L�q�ł��܂��B

Media�v�f��Id�����ɂ́A�p�b�`�Ώۂ�MSI�t�@�C���ɓK�p���ꂽMedia�v�f��Id�����l�����傫���l���w�肵�܂��B
Cabinet�����ɂ͍D���Ȗ��O���w��ł��܂��B

PatchBaseline�v�f��Id�����ɂ́A��ŃR�}���h�Ńp�b�`�𐶐�����Ƃ��Ɏw�肷�閼�O���w�肵�܂��BMedia�v�f��Cabinet�����̖��O�i.cab�����O�������́j�Ɠ����ɂ��Ă����Ƃ悢�ł��傤�B

PatchFamily�v�f�́A�p�b�`��K�p����Ώۃ\�t�g�E�F�A���`���܂��BId�����ɂ͂���PatchFamily�ɕt���閼�O���L�q���܂��i�����Ȃ�ł��悢�j�B
Version�����́A�p�b�`�K�p���Ԃ��K�肵�AProduct�v�f�̃o�[�W�����ԍ����Z�b�g���܂��i�炵�������܂������ĂȂ��݂����j�B
ProductCode�����́A�p�b�`�Ώۃ\�t�g�E�F�A��Product�v�f��Id�����Ŏw�肵��Guid�ƈ�v�����܂��B
Supersede�����́A"yes"�ɂ���ƁA���̃p�b�`�����łɓK�p�ς݃p�b�`���㏑������ۂɒʒm����悤�ɂ��܂��B

PatchFamily�v�f�̎q�v�fComponentRef�́A�p�b�`�Ώۂ�MSI�t�@�C���쐬���ɒ�`�����R���|�[�l���g�i�t�@�C���j�̂����A�X�V���������̂��w�肵�܂��B

�C���ł̃C���X�g�[���쐬

�܂��A�C���O��.wxipdb�t�@�C����ʖ��ŕۑ����Ă����܂��B

C:\work\hellowix> ren hellowix.wixpdb hellowix_old.wixpdb

C:\work\hellowix>

�]���ǂ���̎菇�ŁA�C�������t�@�C�����܂ރC���X�g�[�����쐬���܂��B

C:\work\hellowix> candle -nologo hellowix.wxs
hellowix.wxs

C:\work\hellowix> candle -nologo -ddocumentsDir=doc hellowix_files.wxs
documents.wxs

C:\work\hellowix> light -nologo -ext WixUIExtension -cultures:ja-jp hellowix.wixobj hellowix_files.wixobj -out hellowix.msi

C:\work\hellowix>

�p�b�`�����L�q���� hellowix-patch1.wxs ���������܂��B

C:\work\hellowix> cd ..\hellowix-patch1

C:\work\hellowix-patch1> candle -nologo hellowix-patch1.wxs
hellowix-patch1.wxs

C:\work\hellowix-patch1> light -nologo hellowix-patch1.wixobj

C:\work\hellowix-patch1>

�����ŁA���̃f�B���N�g���ɖ߂�A�C���O��̍������𐶐����܂��B�@

C:\work\hellowix-patch1> cd ..\hellowix

C:\work\hellowix> torch -p -xi hellowix_old.wixpdb hellowix.wixpdb -out ..\hellowix-patch1\hellowix-patch1.wixmst

C:\work\hellowix>

�p�b�`��ƃf�B���N�g���ɖ߂�A�p�b�`�C���X�g�[�����쐬���܂��B�@

C:\work\hellowix> cd ..\hellowix-patch1

C:\work\hellowix-patch1> pyro hellowix-patch1.wixmsp -t MyPatch hellowix-patch1.wixmst -out hellowix-patch1.msp

C:\work\hellowix-patch1>

�Ȃ��Apyro�R�}���h�̃I�v�V����-t�Ŏw�肵�Ă��閼�O"MyPatch"�́Ahellowix-patch1.wxs��PatchBaseline�v�f�Ŏw�肵�����̂ƍ��킹�܂��B

WixEdit�ォ��candle�R�}���h�Alight�R�}���h�̎��s

WixEdit��[Build]���j���[>[Build MSI setup package]��MSI�t�@�C���������ł���ƕ֗��ł��B

�ł����AWixEdit 0.7.5.0 �̓f�t�H���g�ł͓�����Wix 3.0�����s����̂ŁA�����Wix3.6�̃r���h�̓G���[�ƂȂ�܂��B�����ŁAWixEdit����g�p����Wix������̂��̂ł͂Ȃ��ʓr�C���X�g�[������ Wix 3.5���g�p����悤�ɐݒ肵�܂��B

�܂��A[Tools]���j���[ > [Options]��I�����܂��B

�uOptions�v�_�C�A���O���\������܂��B

[Wix Binaries Directory] ���̃p�X���AWix 3.5�C���X�g�[���f�B���N�g������bin�ɐݒ肵�܂��B

[Wix Binaries Version]���̐��l���A3.6�ɕς���Ă����OK�ł��B

[OK]�{�^���������A�uWiX Edit Settings�v�_�C�A���O��‚��܂��B

light�R�}���h�̃I�v�V�����w����s���܂��B[Build]���j���[ > [Build Settings]��I�т܂��B

�uEdit Settings�v�_�C�A���O���\������܂��B

[Use custom commandline for Light.exe]�Ƀ`�F�b�N��t���܂��B�R�}���h���C���L�q�����ҏW�”\��ԂɂȂ�܂��B

-cultures:ja-jp

�Ȃǂ�NjL���܂��B

�f�B���N�g���ɃA�N�Z�X����ݒ肷��

�����̃��O�C�����[�U�[�̊ԂŃv���O�������ǂݏ�������f�[�^�����L����ꍇ�A�f�[�^��u���f�B���N�g���ɁA���炩���߂ǂ̃��[�U�[�ł��ǂݏ����”\�Ȍ�����ݒ肵�Ă����K�v������܂��B�����Ȃ���΁A���郆�[�U�[���v���O���������s���ĕۑ������f�[�^���A�ʂȃ��[�U�[���ύX���悤�Ƃ��Ă��A�N�Z�X�G���[�ƂȂ��Ă��܂��܂��B

�܂��A�ȉ��̃C���X�g�[�����s���Ƃ��܂��B

C:\
 +-- Program Files
 |       +-- hellowix
 |               +-- HelloWix.cmd
 +-- ProgramData
         +-- hellowix

C:\ProgramData\hellowix �̉��ɁA�v���O�������f�[�^��u���A�g�p���郆�[�U�[�Ńf�[�^�����L���܂��B

�܂��A[SourceDir]��I�����A[New]>[Directory]�ŁAC:\ProgramData������ CommonAppDataFolder��Id�����ɁA���O�͓K����PData�Ƃ����f�B���N�g�����쐬���܂��B

���ɁAPData�̉��ɁA���l��[New]>[Directory]�ŁAhellowix�̖��O�̃f�B���N�g���𐶐����܂��BId�́APFiles���̂��̂Ƃ��Ԃ�Ȃ��悤�A�����ł�hellowixData�Ƃł����Ă����܂��B

�����ŁAPData����hellowix�ɃA�N�Z�X����ݒ肵�Ȃ��ƁAC:\ProgramData\hellowix�̉��ɂ��郆�[�U�[���f�[�^���쐬���A�ʂȃ��[�U�[���f�[�^��ύX���悤�Ƃ���ƃG���[�ƂȂ�܂��B

�g�ݍ��݂�Users�O���[�v��ݒ肷��

���[�U�[��V�K�쐬����ƁAUsers�O���[�v�ɑ�����̂ŁA�܂���Users�O���[�v�̌������w�肵�܂��B

�A�N�Z�X����ݒ肷��ɂ́A�f�B���N�g���ɃR���|�[�l���g�v�f��t���A���̃R���|�[�l���g�v�f�̎q�v�f��CreateFolder��t���A����CreateFolder�̎q�v�f��Permission��t���܂��B

�f�B���N�g���ɑ΂���Permission�́AAdministrators�O���[�v��Users�O���[�v��2�‚�t���邱�ƂƂ��܂��B

�f�B���N�g���ɃR���|�[�l���g�v�f��t����

�܂��APData����hellowix���E�N���b�N���A[New]>[Component]��I�����A�E���ʼnE�N���b�N��[New]��I���A�uNew Attribute Name�v�_�C�A���O����Guid��Id��I�����A[Ok]�������܂��B

Guid���̉E�[�ɂ���[...]�{�^���������AGUID�������������܂��BId���ɂ́A�K���Ȗ��OPDataHellowixPermission����͂��܂����B

�f�B���N�g���̃R���|�[�l���g�v�f��CreateFolder�v�f��t����

���̃R���|�[�l���gPDataHellowixPermission���E�N���b�N���A[New]>[CreateFolder]��I�����܂��B

CreateFolder��Administratos�O���[�v��Permission��t����

CreateFolder��I�����ĉE�N���b�N�A[New]>[Permission]��I�����܂��B

1�–ڂ�Permission�ɂ́A����GenericAll�Ƒ���User��t���܂��B

GenericAll��yes��no��I������̂�yes���w��AUser�ɂ�Administrators���w�肵�܂��B

CreateFolder��Users�O���[�v��Permission��t����

������x�ACreateFolder��I�����ĉE�N���b�N�A[New]>[Permission]��I�����܂��B

2�–ڂ�Permission�ɂ́A����User�ƁA�ȉ���ʂ̂悤�ɕ����̃A�N�Z�X������t���܂��B

�A�N�Z�X�����͑����p�ӂ���Ă���A�ǂ��ݒ肷��̂������܂��BWindows�̃t�@�C���E�Z�L�����e�B���������蒲�ׂĊm�F���邵���Ȃ��悤�ł��B

���Ƃ��΁A�ȉ��y�[�W�Ȃǂł��B

�C���X�g�[����̃t�H���_�̎��ۂ̃A�N�Z�X��

PowerShell�̃R�}���h�ŁA���ۂɃC���X�g�[�����Đ�������C:\ProgramData\hellowix�t�H���_�̃A�N�Z�X���𒲂ׂĂ݂�ƁA�ȉ��̂Ƃ���ł����B

PS C:\> Get-Acl C:\ProgramData\hellowix | Format-List

Path   : Microsoft.PowerShell.Core\FileSystem::C:\ProgramData\hellowix
Owner  : NT AUTHORITY\SYSTEM
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  Modify, Synchronize
Audit  :
  :

�‹��ϐ���ݒ肷��

�C���X�g�[�����Ɋ‹��ϐ����`���A�A���C���X�g�[�����Ɋ‹��ϐ����폜���܂��B

�R���|�[�l���g�v�f��Environment�v�f��lj�����

�‹��ϐ��̐ݒ�́A�C���X�g�[������R���|�[�l���g�v�f�̎q�v�f��Environment�v�f���`���܂��B

�f�B���N�g���v�f�ɂ�Environment�v�f���q�v�f�Ƃ��ĉ������܂���B

  1. �����̃R���|�[�l���g�̂����ꂩ1�‚�I��Ŏq�v�f��Environment��lj�
  2. �f�B���N�g���ɐV�����R���|�[�l���g���쐬���A���̃R���|�[�l���g�̎q�v�f��Environment��lj�
    ���̏ꍇ�A[Features]�^�u��I�����ADefaultFeature���E�N���b�N�A[Select Component to add]��I���A�쐬�����R���|�[�l���g���w�肵�܂��B

�ȉ���1.�̕��@�ł̎菇�ł��B

�܂��APFiles����hellowix���ɂ���R���|�[�l���gHelloWix.cmd���E�N���b�N���A[New]>[Environment]��I�����܂��BHelloWix.cmd�̉��ɁAEnvironment����������܂��B

�t�H���_�ɃR���|�[�l���g��lj����‹��ݒ������ꍇ

�f�B���N�g���v�f��Component

Environment�v�f�̑�����ݒ肷��

ID�͔C�ӂ̎��ʎq�i����Name�Ɠ���ł����ł��傤�j�AName�ɂ͐ݒ肵�����‹��ϐ������L�q���܂��B

�����ł́A�‹��ϐ��uHELLOWIX_BIN�v���`���Ă��܂��B

���ɁAEnvironment��I��������ԂŁA�E���y�C����ʼnE�N���b�N���A�|�b�v�A�b�v���j���[����[New]��I�����܂��B

�‹��ϐ������[�U�[�‹��ϐ��Ƃ��Ē�`����ꍇ�ASystem������no���w��A�V�X�e���‹��ϐ��Ƃ��Ē�`����ꍇ�ASystem������yes���w�肵�܂��B�i�f�t�H���g��no�j

�‹��ϐ����A���C���X�g�[�����ɍ폜����ꍇ�APermanent������no���w��A�A���C���X�g�[�������`��������ꍇ�APermanent������yes���w�肵�܂��B�Ȃ��APart������first�܂���last���w�肵�ăC���X�g�[�������ꍇ�A�폜����̂͒lj������ݒ蕔���݂̂Ŋ‹��ϐ����̂��폜���邱�Ƃ͂���܂���B

�C���X�g�[�����Ɋ��ɐݒ肷��‹��ϐ�����`����Ă����Ƃ��A���̂܂܂ɂ��Ă����ύX���Ȃ��ꍇ��Action������create���w��A���̒l�ɕύX����ꍇ�͑�����set���w�肵�܂��B

�C���X�g�[�����Ɋ‹��ϐ����폜�������ꍇ�́AAction������remove���w�肵�܂��B���̏ꍇ�AValue���������݂���΁A�‹��ϐ����폜����͕̂ϐ��̒l��Value�����̒l�ƈ�v�����Ƃ��̂݊‹��ϐ����폜���܂��BValue����������`�Ȃ�A�‹��ϐ��͒l�ɂ�炸�폜���܂��B

�����̊‹��ϐ����������Ƃ��A���̒l��S�ʒu�������^�l�̐擪�ɒlj��^�l�̖����ɒlj���I���ł��܂��BPart�����Ɏw�肷��̂͏���all�^first�^last �ƂȂ�܂��B

�‹��ϐ��̐ݒ�l��Value�����ɕ�����Ŏw�肵�܂��B�C���X�g�[���ɂ���ăC���X�g�[������f�B���N�g����ݒ肵�����ꍇ�A���O�ɂ͌Œ�ł��Ȃ��̂ŁAWiX�̐ݒ�Œ�`�����t�H���_ID���p���ʁi'['�A']'�j�ň͂��Ďw�肵�܂��B

����́A�V�X�e���‹��ϐ��Ƃ���HELLOWIX_BIN���`���A���̒l�ɂ�HelloWix���C���X�g�[�������f�B���N�g���iPFiles����hellowix�j���[�Ă�悤�ɐݒ肵�܂��B

�����ŁAHelloWix���C���X�g�[������f�B���N�g���́A�C���X�g�[�����Ƀ��[�U�[���ύX�”\�ł��B�����ŁA�Œ�l�ł͂Ȃ��A�C���X�g�[���̎��s���ʂŌ��܂�l�ɂȂ�f�B���N�g���ihellowix�j��ID���p���ʂŎw�肵�Ă��܂��B