2013-01-03 68 views

回答

0

我曾用的快捷關鍵字裝箱的鏈接。我發現這是解決這個問題的最簡單方法。請找到這個代碼。

<Component Id="XXXX" Guid="E4920A35-13E1-4949-BD3A-7DCC8A70C647"> 
      <File Id="xxXX" Name="xxXX.yyy" Source="..\Installer\Miscellaneous\xxXX.yyy" DiskId="1" Vital="yes" /> 
       <Shortcut Id="xxXX_link" Directory="Dir1" Name="xxXX.yyy" Target="[INSTALLLOCATION]xxXX.yyy" WorkingDirectory="INSTALLLOCATION" /> 
</Component> 

但這不等同於符號鏈接。

0

您可以使用自定義操作來運行mklink。在InstallFinalize之後運行自定義操作。

或者您可以使用捷徑而不是符號鏈接。

在定製操作文件:

[CustomAction] 
    public static ActionResult symboliclink(Session session) 
    { 
     string filePath = session["FilePath"]; 
     string symboliclink = session["symboliclink"]; 
     Process p = new Process(); 

     p.StartInfo.FileName = "mklink.exe"; 
     p.StartInfo.Arguments = "/d" + symboliclink + " " + filePath; 
     p.StartInfo.CreateNoWindow = true; 
     p.StartInfo.UseShellExecute = false; 
     p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
     Environment.CurrentDirectory = Path.GetDirectoryName(p.StartInfo.FileName); 
     p.Start(); 
     p.WaitForExit(); 


     return ActionResult.Success; 
    } 

維克斯文件:

<Binary Id="Symboliclink" SourceFile="Symboliclink.CA.dll" /> <CustomAction Id="SymbolicLink" BinaryKey="Symboliclink" DllEntry="symboliclink" Return="ignore" Execute="immediate" /> 

包括自定義操作中InstallExecuteSequence

<Custom Action="SymbolicLink" Sequence="6703"/> 
+0

你能舉個例子嗎? –

相關問題