Ошибка 1001 при использовании пользовательского установщика с Visual Studio 2008 - PullRequest
7 голосов
/ 13 декабря 2011

Я создал простое приложение winforms и пользовательский установщик. Все кажется достаточно простым, но я получаю следующие всплывающие окна и подробности об ошибках в журнале событий.

Error message box displayed before running the custom action code

Описание для события с кодом 11001 из источника MsiInstaller не может быть найденный. Либо компонент, который вызывает это событие, не установлен на ваш локальный компьютер или установка повреждена. Вы можете установить или отремонтируйте компонент на локальном компьютере.

Если событие возникло на другом компьютере, отображается информация должен был быть сохранен вместе с событием.

Следующая информация была включена в событие:

Продукт: Custom Action Tester - Ошибка 1001. Ошибка 1001. Исключение произошла при инициализации установки: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'file: /// C: \ Windows \ system32 \ Action' или одна из его зависимостей. система не может найти указанный файл .. (NULL) (NULL) (NULL) (NULL) (NULL)

ресурс сообщения присутствует, но сообщение не найдено в таблица строк / сообщений

Я проверил C: \ Windows \ system32, и нет файла или папки с именем Action, но есть 3 файла с именем ActionCenter.dll , ActionCenterCPL.dll и ActionQueue.dll

Есть идеи, как мне исправить эту ошибку?

EDIT:

Следуя предложению cosmin-pirvu Я запустил установщик с ведением журнала. Область, где появляется ошибка, показана ниже, но я все еще не знаю, как решить проблему.

MSI (s) (40:7C) [09:34:26:523]: Executing op: CustomActionSchedule(Action=_FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= /targetdir="C:\Test\Custom Action Tester\" /Param1="C:\Test\TestFile.txt" /Param2="C:\Test\" "C:\Test\Custom Action Tester\ConfigSetup.dll" "C:\Users\wildb\AppData\Local\Temp\CFG66BE.tmp")
MSI (s) (40:94) [09:34:26:525]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI85A8.tmp, Entrypoint: ManagedInstall
MSI (s) (40:F0) [09:34:26:525]: Generating random cookie.
MSI (s) (40:F0) [09:34:26:557]: Created Custom Action Server with PID 6492 (0x195C).
MSI (s) (40:D4) [09:34:26:586]: Running as a service.
MSI (s) (40:D4) [09:34:26:587]: Hello, I'm your 32bit Elevated custom action server.
DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog, 
Error 1001. Error 1001. Exception occurred while initializing the installation:
System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Windows\system32\Action' or one of its dependencies. The system cannot find the file specified..
MSI (s) (40!4C) [09:34:29:580]: 
MSI (s) (40:94) [09:34:29:584]: Leaked MSIHANDLE (14) of type 790531 for thread 7244
MSI (s) (40:94) [09:34:29:584]: Note: 1: 2769 2: _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install 3: 1 
DEBUG: Error 2769:  Custom Action _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install, 1, 
CustomAction _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 09:34:29: InstallExecute. Return value 3.

Это должен был быть быстрый выигрыш, чтобы упростить жизнь нашим пользователям; они не хотели редактировать конфигурационные файлы ... но это превратилось в настоящий кошмар. : О (

РЕДАКТИРОВАТЬ 2:

После длительной игры ошибка появляется только в том случае, если параметры указаны в пользовательском действии, как показано на рисунке. Проблема в том, что пользовательский установщик бесполезен без возможности считывания значений, введенных на предыдущих экранах установки.

Custom action property screen

Ответы [ 2 ]

7 голосов
/ 15 декабря 2011

После многих часов кругов я наконец нашел проблему и, что более важно, решение.

Должна быть возможность передать параметры как "CustomActionData", как определено в этом блоге , но параметры немного странны, если не сказать больше ...

Я обнаружил, что текстовые параметры не могут иметь кавычек вокруг имени параметра и должны быть отформатированы следующим образом:

/ Param1 = [CONFIG_TESTFILE] / Param2 = [CONFIG_TESTFOLDER]

Кроме того, чтобы использовать параметр целевого каталога, вам нужно включить кавычки, но вместо того, чтобы заканчивать поле обратной косой чертой, вы должны использовать вместо этого пробел, например:

/ target = "[TARGETDIR]"

1 голос
/ 28 февраля 2019

У меня была такая же проблема. В моем случае этот блог помог: https://timgolisch.wordpress.com/2016/06/05/error-1001-exception-occurred-while-initalizing-the-installation/

Просто подытожим: проверьте, соответствует ли ваша версия Выходной проект Target .NET Framework условиям проекта установщика. Условие запуска .NET Framework версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...