Как изменить разрешения сопоставления обработчика IIS через Wix или пользовательское действие - PullRequest
2 голосов
/ 12 марта 2010

Я использую Wix для создания установщика для приложения Silverlight.

При установке приложения для созданного виртуального каталога проверяется разрешение на выполнение для сопоставления обработчика * .dll (IIS 7> Веб-сайт> VDir> Сопоставления обработчика> * .dll> Редактировать разрешения на функции> Выполнить).

Когда я просматриваю приложение, оно не может загрузить свои спутниковые сборки в ClientBin. Если снять флажок разрешения на выполнение в IIS, обработчик отключается, и приложение теперь работает.

Я не хочу делать это вручную. Кто-нибудь знает, как изменить разрешения сопоставления обработчиков в Wix или Custom Action?

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Вы можете сделать это в пользовательском действии VBScript.

strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

vdir = "W3SVC/1/ROOT"

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebVirtualDirSetting WHERE Name = '" & vdir & "'")

For Each objItem in colItems
    ''WScript.Echo objItem.AppRoot
    objItem.AccessExecute = "False"
    objItem.Put_()
Next
0 голосов
/ 12 марта 2010

Согласно этой записи , это невозможно напрямую из WiX. Однако вы можете написать управляемое настраиваемое действие и использовать IIS7 .net API для редактирования сопоставления.

...