настройка xll на компьютере, на котором не установлен визуал

Я разработал xll с Visual Studio 2010 и Excel 2010. Он отлично работает в Excel на компьютере, где установлен Visual. Но теперь я пытаюсь использовать свой xll на компьютере, на котором не установлен visual, поэтому я хочу создать установку.

Фактически, я пытался выполнить свою xll в Windows, где ничего не установлено (только в Excel 2010): это не работает. Итак, я установил «распространяемый пакет Visual 2010 C ++» в X64 и X86. После того, как я снова попытался выполнить свой xll в Excel, он снова не работает.

Изменить: я использовал "depends.exe" на своих двух файлах xll. На xll, которая не работает, C: \ windows \ system32 \ SHLWAPI.DLL имеет красную картинку слева, но xll, которая работает, не имеет этой dll при ошибке:

ошибка с зависимым.exe

Итак, мой вопрос: что нужно xll в дополнение к пакету C ++ для выполнения на компьютере без визуализации?

Или у вас есть простой способ создать настройку для xll (я создал настройку с визуализацией, и она не работает, поэтому, возможно, есть другой метод ...).


person Adrien A.    schedule 16.05.2012    source источник
comment
Что он делает вместо того, чтобы работать? Есть сообщения об ошибках?   -  person Tim Williams    schedule 16.05.2012
comment
на компьютере, где визуал не установлен: после того, как я поставил xll на EXCEl, я пытаюсь поставить ячейку = Myfunc, нет списка функций, которые соответствуют ей. Я помещаю тот же XLL на компьютер, на котором установлен visual и где он работает: когда я поставил = Myfunc, у меня есть список функций, которые соответствуют функции моего XLL   -  person Adrien A.    schedule 16.05.2012
comment
Если вы используете функции оболочки в SHLWAPI.DLL, вы можете ссылаться на функции, которые недоступны в целевой операционной системе. Если вы компилируете с использованием новейшей версии Windows SDK, но работаете в Windows XP, вы получите такое поведение. Подробнее о работе с различными версиями библиотек оболочки см. Здесь: msdn.microsoft.com/en-us/library/windows/desktop/   -  person Govert    schedule 19.05.2012
comment
Также вы можете присоединить отладчик к процессу Excel, затем загрузить надстройку и проверить вывод отладчика. Ошибка при загрузке некоторых .dll будет отображаться в выводе отладчика. Или начните с более простой надстройки, а затем добавьте свои функции, чтобы увидеть, в какой момент она сломается.   -  person Govert    schedule 19.05.2012
comment
Я не могу сделать это на компьютере, где мой XLL не работает, потому что Visual 2010 не установлен. Если я установлю визуал, мой XLL будет работать, но я хочу использовать его без установки визуального элемента.   -  person Adrien A.    schedule 21.05.2012
comment
Попробуйте использовать простой файл .xll, который регистрирует только одну функцию.   -  person Govert    schedule 21.05.2012
comment
Хорошо, готово: с простым XLL, который с одной функцией (a + b), он работает на компьютере, на котором установлен визуал, но не работает на компьютере, где визуал не установлен, но где среда выполнения C / C ++ для выпуска установлена ​​версия VS 2010 .... такой же результат, как и у моего первого XLL   -  person Adrien A.    schedule 22.05.2012


Ответы (3)


Существуют отдельные перераспределения среды выполнения C / C ++ для окончательной версии VS 2010 (http://www.microsoft.com/en-us/download/details.aspx?id=5555) и VS 2010 с пакетом обновления 1 (http://www.microsoft.com/en-us/download/details.aspx?id=8328), и вам необходимо установить тот, который соответствует вашей среде разработки.

В качестве альтернативы можно было бы перейти на статическое связывание среды выполнения C / C ++ для вашей надстройки.

Настройка библиотеки времени выполнения

Также убедитесь, что для вашей безопасности макросов Excel не установлено значение «высокий» или параметр, отключающий надстройки.

person Govert    schedule 16.05.2012
comment
Альтернативой могло бы стать статическое связывание среды выполнения C / C ++ для вашей надстройки. Как вы можете это сделать? - person Adrien A.; 18.05.2012
comment
Я попытался использовать среду выполнения C / C ++ для выпускной версии VS2010 с пакетом обновления 1 (которая совпадает с моей средой разработки) и установил для моей безопасности макросов Excel значение «Нет безопасности», и она снова не работает. Возможно, у меня есть какие-то новые элементы (в части редактирования моего вопроса), которые могут нам помочь - person Adrien A.; 18.05.2012
comment
Добавил картинку статической ссылки. Но это не ваша проблема, если вы пытались установить правильную среду выполнения C / C ++. - person Govert; 19.05.2012

Используйте http://xll.codeplex.com для создания xll, и вам не придется об этом беспокоиться.

person Keith A. Lewis    schedule 27.05.2012

Проблема решена :

сначала вам необходимо установить распространяемый компонент вашей среды разработки (http://www.microsoft.com/downloads/fr-fr/details.aspx?FamilyID=c68ccbb6-75ef-4c9d-a326-879eab4fcdf8) для VS2010 с пакетом обновления 1 (http://www.microsoft.com/en-us/download/details.aspx?id=8328) для VS.

Во второй раз вам нужно установить инструменты Visual Studio 2010 для среды выполнения Office (http://www.microsoft.com/downloads/fr-fr/details.aspx?familyid=06c32242-2289-4471-93aa-ce96aa5cbc36)

person Adrien A.    schedule 22.05.2012