gpt4 book ai didi

c# - 如何使用 WixSharp 在 ProgramFiles64Forder 下安装多个子目录?

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:09 25 4
gpt4 key购买 nike

我制作了一个 WixSharp 64 位安装程序,它应该在“Program Files”下的两个不同目录下安装文件。这是代码的精简版本:

using System;
using WixSharp;
using File = WixSharp.File;

public class Script {

public static void Main(string[] args) {
var project =
new Project("My Product",
new Dir(@"%ProgramFiles%",
new Dir(@"SubDir1", new File(@"Files\test2.txt")),
new Dir(@"SubDir2", new File(@"Files\test2.txt"))
));

project.Platform = Platform.x64;
project.GUID = new Guid("6f330b47-2577-43ad-9095-1861ba25889b");
Compiler.BuildMsi(project);
}

问题是子目录将创建在“c:\%ProgramFiles64%\”下,而不是在“c:\Program Files\”下。

如果我只安装一个子目录,那么该目录将正确安装到“c:\Program Files”中。

如果我在不将平台指定为 x64 的情况下执行相同操作,文件将正确地位于“c:\Program Files(x86)”下。

我在这里做错了什么?我怎样才能得到这两个目录。

我首先怀疑我可能遇到了 Dir 构造函数的错误重载,但是当使用以下代码确保它进入 Dir(string targetPath, params WixEntity[] items) 构造函数时,行为是相同的:

           new Dir(@"%ProgramFiles%",new WixEntity[] {
new Dir(@"SubDir1", new File(@"Files\test2.txt")),
new Dir(@"SubDir2", new File(@"Files\test2.txt"))
}

最佳答案

我在 Wix# 项目页面上问了同样的问题,Oleg_s 回答了一个解决方法,并很好地解释了为什么它不起作用。答案在这里:

http://wixsharp.codeplex.com/discussions/648259#post1454338

关于c# - 如何使用 WixSharp 在 ProgramFiles64Forder 下安装多个子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34039413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com