После успешного выполнения рекомендаций в this question, я добавил несколько дополнительных строк кода для другого пользовательского действия. Этот способ предназначен для вызова regsvr32 на копию capicom, которую я попытался поместить в системную папку пользователя. Тем не менее, я получаю ошибку 2721, которая, похоже, является обычным действием, не найденным ошибкой, из того, что я видел. Какие-либо предложения? Я пытаюсь поддерживать согласованность с предыдущими итерациями моего установщика, вызывая regsvr, а не просто добавлять записи реестра во время установки, что может быть хорошей идеей. ::: пожимают плечами :::Установка Capicom без SelfReg: Wix Пользовательские действия не найдены (Err 2721)
<Directory Id="SystemFolder" Name="Sys">
...
<component ...>
...
<File Id="CapiCom.Dll" LongName="CapiCom.Dll" Name="CAPICOM.DLL" Source=... />
</component>
</directory>
...
<CustomAction Id="REGCAPICOM" ExeCommand='regsvr32.exe "[SystemFolder]capicom.dll"' Return = "ignore" Execute="deferred" />
...
<InstallExecuteSequence>
...
<Custom Action="REGCAPICOM" After="InstallFiles" />
</InstallExecuteSequence>
Edit: Да, с помощью regsvr32 как инсталлятор некрасиво. Но когда я скачал SDK Capicom, это то, что MS сказал сделать, чтобы установить его. Поиск вокруг нашел много людей, говорящих, что это глупый способ сделать это ... но это также механизм MS. Я буду прислушиваться к предложениям для лучшего способа. Я не считаю это большой проблемой, если Capicom останется после того, как мое приложение будет удалено, учитывая, что это стандартный компонент Windows.
Редактировать: Хммм. По-видимому, одна из вещей, выполняющих selfreg на dll, заключается в создании случайного семени для добавления в реестр. Не уверен, какой механизм он использует для генерации этого семени, но я подозреваю, что он будет считаться с плохим вкусом, чтобы просто создать его сам, особенно если бы я дал всем пользователям одно и то же семя. Не уверен ... Видимо, если я пропущу этот Capicom, он сделает это сам, так что я в порядке.
Вы TYR тепла на всех, в библиотеке? – CheGueVerra 2008-11-21 15:52:31
Heat + Capicom = Fail :( – Brian 2009-10-01 21:20:11