2013-07-19 96 views
1

我在WIX基本安裝配置上遇到了一些問題。 我想將我的文件安裝到ProgramFiles/NameOfCompany/NameOfProduct中。 我現在以下配置:如何在安裝位置路徑連接兩個變量

<?define ProductName="ProductName" ?> 
<?define Manufacturer="CompanyName"?> 
<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLLOCATION" Name="$(var.ProductName)"> 
     <Component Id="ProductComponent" Guid="b11556a2-e066-4393-af5c-9c9210187eb2"> 
     <File Id='SampleAppEXE' Name='SampleApp.exe' Source='ClipboardActiveX.dll' Vital='yes' /> 
     </Component> 
    </Directory> 
    </Directory> 
</Directory> 

的問題是,我得到了以下錯誤,當我嘗試在INSTALLLOCATION目錄條目設置這樣的文件夾1 /文件夾2:

The Directory/@Name attribute's value, 'folder1/folder2', is not a valid long name because it contains illegal characters. Legal long names contain no more than 260 characters and must contain at least one non-period character. Any character except for the follow may be used: \ ? | > < :/* ". 

我想要的東西像這樣:

<?define ProductName="ProductName" ?> 
<?define Manufacturer="CompanyName"?> 
<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLLOCATION" Name="$(var.Manufacturer)\$(var.ProductName)"> 
     <Component Id="ProductComponent" Guid="b11556a2-e066-4393-af5c-9c9210187eb2"> 
     <File Id='SampleAppEXE' Name='SampleApp.exe' Source='ClipboardActiveX.dll' Vital='yes' /> 
     </Component> 
    </Directory> 
    </Directory> 
</Directory> 
+0

好吧,我發現這個選項<目錄ID = 「ManufacturerFolder」 NAME = 「$(var.Manufacturer)」>在這個問題http://stackoverflow.com/questions/13443865/wix-install -path-registry-value-assignment-what-is-wrong?rq = 1 – AuthorProxy

回答

4

您必須使用嵌套目錄元素嵌套目錄。就像這樣:

... 
<Directory Id="ProgramFilesFolder"> 
    <Directory Id="Manufacturer" Name="$(var.Manufacturer)"> 
     <Directory Id="INSTALLLOCATION" Name="$(var.ProductName)"> 
... 
+0

是的,謝謝,我想我已經嘗試了這個,並得到了另一個錯誤,對我的疏忽抱歉。 – AuthorProxy