Frage

Ich versuche, mein ActiveX -Plugin zu installieren, in NSI in einer CAB -Datei verpackt und auf ein Problem gestoßen.

Das Protokoll ist

Code Download Error: (hr = 80070005) Access is denied.

ERR: Run Setup Hook: Failed Error Code:(hr) = 80070005, processing: msiexec.exe /package "%EXTRACT_DIR%\TempR.msi"

Ich denke, das gleiche wie dieser:

http://social.msdn.microsoft.com/forums/en-us/ieextesiondevelopment/thread/3d355fb6-8d6a-4177-98c2-a25665510727/

Ich möchte die dort vorgeschlagene Lösung ausprobieren, aber keine Ahnung hat, wie es geht

Erstellen Sie eine kleine Bootstrap -Exe, die nur msiexec.exe startet, und warten Sie dann auf die Fertigstellung.

Kann jemand Hilfe liefern?

Vielen Dank!!

War es hilfreich?

Lösung

Sich ansehen DotnetInstaller - vorgezogenes Bootstrapper -Programm, das viel mehr tut als das, was Sie brauchen, aber genau das tun können, was Sie fragen.

Andere Tipps

Hier ist ein einfacher Wrapper, der msiexec.exe aufruft, um den im ersten Befehlszeilenparameter übergebenen MSI leise zu installieren.

Es ist als visuelle C ++ - Befehlszeilenanwendung geschrieben:

// InstallMSI.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Windows.h>
#include <string>

int wmain(int argc, wchar_t* argv[])
{
if(argc < 2) {
    printf("Usage: installmsi.exe <full path to msi file>\n\n");
    printf("Package will be installed using msiexec.exe with the /qn (quiet install) flags.\n");
    return 1;
}

std::wstring args;
args = L"msiexec.exe /i \"";
args += argv[1];
args += L"\" /qn";

PROCESS_INFORMATION pi;
STARTUPINFO si;

ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);

ZeroMemory(&pi, sizeof(pi));

if(!CreateProcess(NULL, (LPWSTR)args.c_str(),
    NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi)) {
        printf("CreateProcess failed (%d).\n", GetLastError());
        return 2;
}

WaitForSingleObject( pi.hProcess, INFINITE );

CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);

return 0;
}

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top