Hallo,
Autocad read-only
Omdat we binnen het bedrijf af en toe AutoCAD tekeningen van elkaar moeten inzien heb ik een vbscriptje gemaakt dat ervoor zorgt dat je ze read-only kan openen. Het kopieert de nodige .dwg naar een mapje in %temp% en zet ze op read-only. Dan opent hij hem met de standaard geassocieerde applicatie. AutoCAD start dan op, en heeft door dat het om een read-only bestand gaat.
Shell/Context-menu aanpassen
Er is op het eerste gezicht geen gemakkelijkere manier om dit te bereiken, en het script werkt heel goed.
Ik heb handmatig een aanpassing gedaan aan de manier waarop windows met .dwg's omgaat, via Folder options>file types>.dwg>advanced>new. De nieuwe mogelijkheid onder 'open' en 'print' is dan 'open Read-Only' en roept een .bat file aan met de filename als parameter, die vervolgens weer de vbscript aanroept.
Aanmaken verwijzing:

Het werkt!:

Deployen
Het is de bedoeling dat het uitgerold kan worden als .msi (of als het niet anders kan als .exe of enig andere applicatie) via ons eigen deploy-systeem (via GPO's werkte niet betrouwbaar genoeg). Ons deploy-systeem draait gewoon op de doelmachine de .msi/.exe onder administrator met een /quiet flag.
Wij repackagen applicaties zelf (althans, dat proberen we, en lukt meestal ook) maar meestal maken we alleen een msi transform (.mst). We gebruiken hiervoor Wise Package studio 7(en orca).
De officiele manier om een shell-extensie te klussen is gebruik maken van de Verb en Extension tabellen (MSDN bron).Dan zijn ook een Class en daardoor Component benodigd. Als ik dat doe (via de wise package studio wizard) komt-ie niet in het context menu.
Ik heb ook geprobeerd met de registerwaarden die veranderen als je het handmatig toevoegt in de folder options te draaien. Dat werkte, maar alleen bij PC's die dezelfde versie van Acad draaien. Anders zijn de file associaties zodanig (per versie van acad) dat hij niet de shell-optie laat zien. Tenslotte heb ik het geprobeerd met registerwaarden die het aanmaken van de .dwg associatie beschrijven.
Op internet staat eigenlijk alleen maar info over het aanwijzen van je programma als standaardprogramma voor een bepaalde extensie.
In het kort:
Ik wil graag via een msi een context-menu handler toevoegen zonder de huidige bestandsassociaties kapot te maken.
Autocad read-only
Omdat we binnen het bedrijf af en toe AutoCAD tekeningen van elkaar moeten inzien heb ik een vbscriptje gemaakt dat ervoor zorgt dat je ze read-only kan openen. Het kopieert de nodige .dwg naar een mapje in %temp% en zet ze op read-only. Dan opent hij hem met de standaard geassocieerde applicatie. AutoCAD start dan op, en heeft door dat het om een read-only bestand gaat.
Shell/Context-menu aanpassen
Er is op het eerste gezicht geen gemakkelijkere manier om dit te bereiken, en het script werkt heel goed.
Ik heb handmatig een aanpassing gedaan aan de manier waarop windows met .dwg's omgaat, via Folder options>file types>.dwg>advanced>new. De nieuwe mogelijkheid onder 'open' en 'print' is dan 'open Read-Only' en roept een .bat file aan met de filename als parameter, die vervolgens weer de vbscript aanroept.
Aanmaken verwijzing:

Het werkt!:

Deployen
Het is de bedoeling dat het uitgerold kan worden als .msi (of als het niet anders kan als .exe of enig andere applicatie) via ons eigen deploy-systeem (via GPO's werkte niet betrouwbaar genoeg). Ons deploy-systeem draait gewoon op de doelmachine de .msi/.exe onder administrator met een /quiet flag.
Wij repackagen applicaties zelf (althans, dat proberen we, en lukt meestal ook) maar meestal maken we alleen een msi transform (.mst). We gebruiken hiervoor Wise Package studio 7(en orca).
De officiele manier om een shell-extensie te klussen is gebruik maken van de Verb en Extension tabellen (MSDN bron).Dan zijn ook een Class en daardoor Component benodigd. Als ik dat doe (via de wise package studio wizard) komt-ie niet in het context menu.
Ik heb ook geprobeerd met de registerwaarden die veranderen als je het handmatig toevoegt in de folder options te draaien. Dat werkte, maar alleen bij PC's die dezelfde versie van Acad draaien. Anders zijn de file associaties zodanig (per versie van acad) dat hij niet de shell-optie laat zien. Tenslotte heb ik het geprobeerd met registerwaarden die het aanmaken van de .dwg associatie beschrijven.
Op internet staat eigenlijk alleen maar info over het aanwijzen van je programma als standaardprogramma voor een bepaalde extensie.
In het kort:
Ik wil graag via een msi een context-menu handler toevoegen zonder de huidige bestandsassociaties kapot te maken.