Как включить x64 / x86 в установку - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь написать установку Wix # для программы, которая использует Sqlite. SqlLite имеет библиотеку для x64 и x86.

Я хотел бы включить оба библиотечных файла и установить только соответствующие на пользовательском компьютере.

Я думаю, мне нужно использовать Условие, но я не могу найти хороший пример.

Если я исключаю строку, которая включает версию x86, она работает (на моей машине x64). Попытка включить оба файла вызывает исключение, потому что я включаю два файла для одного и того же местоположения.

Как это сделать?

BR, Anders

                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)
            };
...