Domanda

Sto cercando di installare il mio plugin ActiveX, confezionato in NSI in un file di cabina e ho riscontrato un problema.

Il registro è

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"

Penso che sia uguale a questo:

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

Voglio provare la soluzione che è suggerita lì, ma non ho idea di come farlo

Crea un piccolo bootstrap exe, che non fa altro che lanciare msiexec.exe e quindi attendere il suo completamento.

Qualcuno può fornire aiuto?

Grazie!!

È stato utile?

Soluzione

Date un'occhiata al dotnetinstaller - Programma bootstrapper pre -scritto che fa molto più di quello di cui hai bisogno, ma può fare esattamente quello che stai chiedendo.

Altri suggerimenti

Ecco un semplice wrapper che chiama msiexec.exe per installare silenziosamente l'MSI passato nel parametro della prima riga di comando.

È scritto come un'applicazione di riga di comando C ++ visiva:

// 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;
}

Spero possa aiutare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top