На этом вы плывёте против MSI.(Хотя я могу понять почему.)
Официально MSI никогда не является платформой.Я предполагаю, что вы используете настраиваемое действие для чтения значений реестра, потому что AppSearch / Reglocator от MSI ограничит вас узлом WoWSys64.После этого MSI заменит даже жестко запрограммированные ссылки на программные файлы как часть подхода к совместимости приложений (в основном Microsoft предполагает, что вы не знали, что вы делаете, и что они знают, что вы действительно хотели сделать).
Неофициально - прочитайте эту ветку, чтобы найти взлом, который я решил обойти.В итоге я обнаружил, что если вы конвертируете C: \ Program Files \ в короткий путь (C: \ Progra ~ 1), то MSI недостаточно умен, чтобы понять, на что вы ссылаетесь, чтобы он не подставил значение.
http://www.joyofsetup.com/2010/03/27/wix-msbuild-v2-0-and-x64-systems/
Обратите внимание, что это взлом, и нет способа сказать, исправит ли Microsoft это в будущих выпусках.Единственный другой подход, о котором я могу подумать, это то, что вы затем не используете таблицу ярлыков и вместо этого пишете пользовательские действия для создания ярлыков для вас.
Если вы не хотите использовать MSI, попробуйте этот обходной путь.Создайте небольшой 64-битный EXE-файл (да, вы можете развернуть 64-битный или AnyCPU exe-файл в Program Files x86 - это MSI-файл x86), который выступает в качестве внешнего интерфейса для AutoCAD.Сделайте запрос к таблице реестра и найдите файл, затем запустите его или отобразите сообщение о том, что AutoCAD недоступен, если его не удается найти.
Если вы сделаете это, ваша установка станет намного чище.