如何在安装中包括x64 / x86

时间:2018-08-29 20:49:01

标签: wixsharp

我正在尝试为使用Sqlite的程序编写Wix#安装。 SqlLite具有适用于x64和x86的库。

我想同时包含两个库文件,并仅在用户计算机上安装相关文件。

我想我需要使用Condition,但是找不到一个很好的例子。

如果我排除了包含x86版本的行(在我的x64机器上),则可以使用。尝试同时包含两个文件会引发异常,因为我在同一位置包含两个文件。

这应该怎么做?

BR,安德斯

                var x64SqLite = new Feature("x64SqLite");
            var x86SqLite = new Feature("x86SqLite");

            var project = new Project(
                $"{productWithEnv} {releaseNumber}",
                new Dir(
                    $@"%ProgramFiles%\{companyName}\{productWithEnv}",
                    new Files(path + @"\*.*",
                        f => !f.EndsWith(".pdb") && !f.EndsWith(".msi")
                    ),
                    new Files(x64SqLite, path + @"\x64\SQLite.Interop.dll")
                    ,new Files(x86SqLite, path + @"\x86\SQLite.Interop.dll")
                ),
                new Dir(
                    $"%ProgramMenu%\\{companyName}\\{productWithEnv}",
                    new ExeFileShortcut(productWithEnv,
                        @"[" +
                        $"%ProgramFiles%\\{companyName}\\{productWithEnv}"
                            .ToDirID() + "]",
                        ""),
                    new ExeFileShortcut($"Uninstall {productWithEnv}", "[System64Folder]msiexec.exe",
                        "/x [ProductCode]"))
            )
            {
                GUID = new Guid(guidString),
                OutFileName = $@".\MyProduct{envStringToShow}.{releaseNumber}",
                MajorUpgradeStrategy = MajorUpgradeStrategy.Default,
                Version = new Version(releaseNumber)
            };

0 个答案:

没有答案