【问题标题】:Is there any way to create symbolic link in WIX installer?有没有办法在 WIX 安装程序中创建符号链接?
【发布时间】:2013-01-03 15:03:28
【问题描述】:

我需要为特定文件夹创建符号链接;该文件夹由 WIX 安装程序创建。有没有办法从 WIX 安装程序创建符号链接?我已经阅读了mklink,但我不知道如何在 WIX (v3) 中使用它?

【问题讨论】:

    标签: wix wix3 mklink


    【解决方案1】:

    您可以使用自定义操作来运行 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"/>
    

    【讨论】:

    • 你能举个例子吗?
    【解决方案2】:

    我使用 Shortcut 关键字创建了一个链接。我发现这是解决这个问题的最简单方法。请找到此代码。

    <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>
    

    但这不等同于符号链接。

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 1970-01-01
      • 2015-06-21
      • 2014-07-14
      • 2010-09-14
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多