Jump to content

artbio

Member
  • Posts

    67
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Portugal

Posts posted by artbio

  1. Just download the 9.20 full installer from here. Or get you specific language version from here.

    No slipstreaming required ;)

    juancarlos9 is talking about the Pro version, not the Reader.

    at first thank you ;) - i have 2 question;

    1. whats with the updates 9.1.1 and 9.1.3? do i not need them? these both are security updates or?

    2. what are the commands to slipstream them?

    thanx a lot !!! ;)

    Answer to question 1:

    Updates 9.1.1 and 9.1.3 are security updates. Updates 9.1.0, 9.1.2 and 9.2.0 are quarterly updates. Applying quarterly updates over security updates doesn't work. So you must apply only the quarterly ones.

    Answer to question 2:

    msiexec /a <path to AIP msi> /update <path to msp>

  2. @ Glaedr

    You didn't answer my question. Let me clarify.

    Are you installing at Cmdlines, SetupParams, RunOnceEx or GuiRunOnce stages of the setup timeline?

    The second error typically occurs when you are running any AutoIt script at Cmdlines stage. This script in particular is supposed to work at RunOnceEx and GuiRunOnce.

    Regards.

  3. This is my AutoIt script to set the pagefile.

    It sets pagefile to a fixed size of twice the system RAM. But it goes a few steps further.

    It does a more accurate check of the system RAM. And checks if free space on drive is enough. Otherwise it lets the OS manage the pagefile.

    Dim $iSystemRAM
    $objWMIService = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\localhost\root\CIMV2")
    $colPhysicalMemory = $objWMIService.ExecQuery("Select * From Win32_PhysicalMemory")
    For $objPhysicalMemory In $colPhysicalMemory
    $iSystemRAM += $objPhysicalMemory.Capacity
    Next
    $iPageFileSize = 2 * $iSystemRAM / (1024 ^ 2)
    $colPageFile = $objWMIService.ExecQuery("Select * From Win32_PageFile")
    For $objPageFile In $colPageFile
    If DriveSpaceFree($objPageFile.Drive & $objPageFile.Path) > 1.5 * ( $iPageFileSize - $objPageFile.FileSize / (1024 ^ 2) ) Then
    $sSettingID = $objPageFile.FileName & "." & $objPageFile.Extension & " @ " & $objPageFile.Drive
    $colPageFileSetting = $objWMIService.ExecQuery('Select * From Win32_PageFileSetting Where SettingID = "' & $sSettingID & '"')
    For $objPageFileSetting In $colPageFileSetting
    With $objPageFileSetting
    .InitialSize = $iPageFileSize
    .MaximumSize = $iPageFileSize
    .Put_
    EndWith
    Next
    EndIf
    Next

    Regards.

  4. This is an improved version:

    #include-once

    ; #FUNCTION# ====================================================================================================
    ==================================================================
    ;
    ; Name...........: _Network_SetIcon
    ; Description ...: Shows or hides the network icon in notification area when connected.
    ; Syntax.........: _Network_SetIcon($sNetConnectionID [, $iFlag, $sComputerName])
    ; Parameters ....: $sNetConnectionID - Name of the network connection.
    ; $iFlag - [Optional] A flag indicating the behaviour of the network icon:
    ; 0 - Icon in notification area when connected remains hidden.
    ; 1 - Icon in notification area when connected is shown.
    ; Default is "1".
    ; $sComputerName - [Optional] Computer name.
    ; The local computer is default.
    ; Return values .: Success - Returns 1
    ; Failure - Returns 0 and sets @error:
    ; Author ........: artbio
    ; Modified.......:
    ; Remarks .......:
    ; Related .......:
    ; Link ..........;
    ; Example .......;
    ;
    ; ====================================================================================================
    =============================================================================

    Func _Network_SetIcon($sNetConnectionID, $iFlag = 1, $sComputerName = @ComputerName)
    Local Const $sRootKey = "\\" & $sComputerName & "\HKLM\SYSTEM\CurrentControlSet\"
    Local $objWMIService, $colWAN, $sClassGUID, $colAdapters, $colConfig, $iRet = 0
    $objWMIService = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\" & $sComputerName & "\root\CIMV2")
    $colWAN = $objWMIService.ExecQuery('Select * from Win32_NetworkAdapter Where Name = "WAN Miniport (IP)"')
    For $objWAN In $colWAN
    $sClassGUID = RegRead($sRootKey & "Enum\" & $objWAN.PNPDeviceID, "ClassGUID")
    If Not @error Then
    $colAdapters = $objWMIService.ExecQuery('Select * from Win32_NetworkAdapter Where NetConnectionID = "' & $sNetConnectionID & '"')
    For $objAdapter In $colAdapters
    $colConfig = $objWMIService.ExecQuery('Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True And MACAddress = "' & $objAdapter.MACAddress & '"')
    For $objConfig In $colConfig
    $iRet = RegWrite($sRootKey & "Control\Network\" & $sClassGUID & "\" & $objConfig.SettingID & "\Connection", "ShowIcon", "REG_DWORD", $iFlag)
    Next
    Next
    EndIf
    Next
    Return SetError($iRet = 0, 0, $iRet)
    EndFunc;==> _Network_SetIcon

  5. Here is the other AutoIt function I did for the same purpose:

    #include-once

    ; #FUNCTION# ====================================================================================================
    ================
    ;
    ; Name...........: _Network_SetIcon
    ; Description ...: Shows or hides the network icon in notification area when connected.
    ; Syntax.........: _Network_SetIcon($sNetConnectionID [, $iFlag, $sComputerName])
    ; Parameters ....: $sNetConnectionID - Name of the network connection.
    ; $iFlag - [Optional] A flag indicating the behaviour of the network icon:
    ; 0 - Icon in notification area when connected remains hidden.
    ; 1 - Icon in notification area when connected is shown.
    ; Default is "1".
    ; $sComputerName - [Optional] Computer name.
    ; The local computer is default.
    ; Return values .: Success - Returns 1
    ; Failure - Returns 0 and sets @error:
    ; Author ........: artbio
    ; Modified.......:
    ; Remarks .......:
    ; Related .......:
    ; Link ..........;
    ; Example .......;
    ;
    ; ====================================================================================================
    ===========================

    Func _Network_SetIcon($sNetConnectionID, $iFlag = 1, $sComputerName = @ComputerName)
    Local Const $sKey = "\\" & $sComputerName & "\HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\"
    Local $objWMIService, $colAdapters, $colAdaptersConfig, $iRet
    $objWMIService = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\" & $sComputerName & "\root\CIMV2")
    $colAdapters = $objWMIService.ExecQuery('Select * from Win32_NetworkAdapter Where NetConnectionID = "' & $sNetConnectionID & '"')
    For $objAdapter In $colAdapters
    $colAdaptersConfig = $objWMIService.ExecQuery('Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True And MACAddress = "' & $objAdapter.MACAddress & '"')
    For $objAdapterConfig In $colAdaptersConfig
    $iRet = RegWrite($sKey & $objAdapterConfig.SettingID & "\Connection", "ShowIcon", "REG_DWORD", $iFlag)
    Next
    Next
    Return SetError($iRet = 0, 0, $iRet)
    EndFunc;==> _Network_SetIcon

    Regards.

  6. This is my AutoIt script:

    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.2.12.1
    Language: English
    Platform: Windows XP
    Author: artbio

    Script Function:
    Show icon in notification area when connected.

    #ce ----------------------------------------------------------------------------

    #NoTrayIcon

    #include <Misc.au3>

    _Singleton("Network Icon AutoIt v3 Script 1.0", 0); It's already running

    Dim Const $sKey = "HKLM\SYSTEM\CurrentControlSet\Control\Network"
    Dim $k
    While 1
    $k += 1
    $sSubKey0 = RegEnumKey($sKey, $k)
    If @error Then ExitLoop
    $sDefault = RegRead($sKey & "\" & $sSubKey0, "")
    $sClass = RegRead($sKey & "\" & $sSubKey0, "Class")
    If $sDefault = "Network Adapters" And $sClass = "Net" Then ExitLoop
    WEnd
    $k = 0
    While 1
    $k += 1
    $sSubKey1 = RegEnumKey($sKey & "\" & $sSubKey0, $k)
    If @error Then ExitLoop
    If RegRead($sKey & "\" & $sSubKey0 & "\" & $sSubKey1 & "\Connection", "Name") = "Local Area Connection" Then ExitLoop
    WEnd
    If Not @error Then RegWrite($sKey & "\" & $sSubKey0 & "\" & $sSubKey1 & "\Connection", "ShowIcon", "REG_DWORD", 1)

    Exit

    Regards.

  7. This can be done with a script.

    I did this AutoIt function. It will detect your sound card and write to the right registry key.

    #include-once

    ; #FUNCTION# ====================================================================================================
    ================
    ;
    ; Name...........: _SpeakerSetup
    ; Description ...: Sets speaker setup for all enabled audio devices on a computer.
    ; Syntax.........: _SpeakerSetup([$iFlag, $sComputerName])
    ; Parameters ....: $iFlag - [Optional] A flag that indicates the desired speaker configuration.
    ; 0 - No speakers
    ; 1 - Stereo headphones
    ; 2 - Desktop stereo speakers
    ; 3 - Laptop mono speakers
    ; 4 - Laptop stereo speakers
    ; 5 - Monitor stereo speakers
    ; 6 - Monitor stand stereo speakers
    ; 7 - Monitor mounted stereo speakers
    ; 8 - Keyboard stereo speakers
    ; 9 - Quadraphonic speakers
    ; 10 - Surround sound speakers
    ; 11 - 5.1 surround sound speakers
    ; 12 - 7.1 wide configuration speakers
    ; 13 - 7.1 home theater speakers
    ; Default is "Desktop stereo speakers".
    ; $sComputerName - [Optional] Computer name.
    ; The local computer is default.
    ; Return values .: Success - Returns 1
    ; Failure - Returns 0 and sets @error to:
    ; -1 - Flag is out of range.
    ; 1 - Either no enabled audio devices were found or failed to write settings.
    ; Author ........: artbio
    ; Modified.......:
    ; Remarks .......:
    ; Related .......:
    ; Link ..........;
    ; Example .......;
    ;
    ; ====================================================================================================
    ===========================

    Func _SpeakerSetup($iFlag = 2, $sComputerName = @ComputerName)
    Local $iConfig, $objSystem, $objItems, $sKey, $iReg1, $iReg2, $iRet
    Switch $iFlag
    Case 0, 1, 3, 9, 10, 11, 12, 13
    $iConfig = $iFlag - Number($iFlag = 3 Or $iFlag = 9) - 5 * Number($iFlag >= 9)
    Case 2, 4, 5, 6, 7, 8
    $iConfig = 1310724 - 655360 * Number($iFlag <> 2 And $iFlag <> 7)
    Case Else
    Return SetError(-1, 0, 0)
    EndSwitch
    $objSystem = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\" & $sComputerName & "\root\CIMV2")
    $objItems = $objSystem.ExecQuery("Select * from Win32_SoundDevice Where StatusInfo = 3")
    For $objDevice In $objItems
    $sKey = "\\" & $sComputerName & "\HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Enum\" & $objDevice.DeviceID & "\DirectSound\"
    $iReg1 = RegWrite($sKey & "Speaker Configuration", "Speaker Configuration", "REG_DWORD", $iConfig)
    $iReg2 = RegWrite($sKey & "Speaker Type", "Speaker Type", "REG_DWORD", $iFlag)
    Next
    $iRet = $iReg1 * $iReg2
    Return SetError($iRet = 0, 0, $iRet)
    EndFunc;==> _SpeakerSetup

    Just copy the code to a text file, save as something with extension ".au3", like "AudioDevices.au3".

    Write a new script.

    #include "AudioDevices.au3"; Relative path, for example "..\Include\AudioDevices.au3"

    _SpeakerSetup(11); 11 is for 5.1 surround sound speakers

    Exit

    Save as something with ".au3" extension. Compile this script if you would like.

    Regards.

  8. @ CEoCEo and others have done great to get nero7/8 going but i really don't know why enyone wants to install a program that is bigger the the OS system nero is really bloatware now it's just my view.

    That's why we did this script in the first place. That way people should be able to install what they really need.

  9. Hi.

    Based on information from this topic, I translated the vbs code to AutoIt.

    This one disables system restore on all fixed drives except C:

    $asDrive = DriveGetDrive("FIXED")
    $objSR = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\localhost\root\default:SystemRestore")
    For $i = 2 To $asDrive[0]
    $objSR.Disable($asDrive[$i] & "\")
    Next

    This one disables System Restore on all drives:

    $objSR = ObjGet("winmgmts:{ImpersonationLevel=impersonate}!\\localhost\root\default:SystemRestore")
    $objSR.Disable("")

    This should work for Windows XP and Windows Vista.

  10. Hi radix!

    Actually I have tested this part with great success in the upcoming release of 2.3. More complicated, but it will hopefully work for everyone. :)

    (...)

    So, as an alternative I would suggest:

    ; Delete Media Indexing Services
    If $MIS = 0 Then
    RegDelete ( "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "IndxStoreSvr_{79662E04-7C6C-4d9f-84C7-88D8A56B10AA}" )
    RegDelete ( "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "NeroHomeFirstStart" )
    RunWait ( @ComSpec & " /c regsvr32 /u /s MediaLibraryNSE.dll", @CommonFilesDir & "\Nero\Lib", @SW_HIDE )
    FileDelete ( @CommonFilesDir & "\Nero\Lib\MediaLibraryNSE.dll" )
    _ServDelete("NMIndexingService")
    RegDelete ( "HKCR\CLSID\{E8933C4B-2C90-4a04-A677-E958D9509F1A}" )
    RegDelete ( "HKCR\AppID\{D55E16BA-BBC9-4F7E-A147-E5DFBCC71480}" )
    RegDelete ( "HKCR\AppID\NMIndexingService.EXE" )
    RegDelete ( "HKLM\SYSTEM\CurrentControlSet\Services\NMIndexingService" )
    FileDelete ( @CommonFilesDir & "\Nero\Lib\NMIndexingService.exe" )
    RunWait ( @ComSpec & " /c regsvr32 /u /s NMIndexingServicePS.dll", @CommonFilesDir & "\Nero\Lib", @SW_HIDE )
    FileDelete ( @CommonFilesDir & "\Nero\Lib\NMIndexingServicePS.dll" )
    ProcessClose ( "NMIndexStoreSvr.exe" )
    FileDelete ( @CommonFilesDir & "\Nero\Lib\NMIndexStoreSvr.exe" )
    RunWait ( @ComSpec & " /c regsvr32 /u /s NMIndexStoreSvrPS.dll", @CommonFilesDir & "\Nero\Lib", @SW_HIDE )
    FileDelete ( @CommonFilesDir & "\Nero\Lib\NMIndexStoreSvrPS.dll" )
    EndIf

    ;===============================================================================
    ; Description: Delete a Windows Service
    ; Syntax: _ServDelete($iName[, $Computer])
    ; Parameter(s): $iName - The name of the service to delete
    ; $Computer - The network name of the computer (optional) The local computer is default
    ; Requirement(s): None
    ; Return Value(s): Success - Deletes the service
    ; Failure Sets @Error = -1 if service is not found
    ; Author(s) George (GEOSoft) Gedye
    ; Modification(s):
    ; Note(s):
    ; Example(s):
    ;===============================================================================

    Func _ServDelete($iName, $Computer = ".")
    $Service = ObjGet("winmgmts:\\" & $Computer & "\root\cimv2")
    $sItems = $Service.ExecQuery("Select * from Win32_Service")
    For $objService in $sItems
    If $objService.Name == $iName Then
    $objService.StopService($objService.Name)
    $objService.Delete($objService.Name)
    Return
    EndIf
    Next
    Return SetError(-1)
    EndFunc ;<==> _ServDelete()

    I tried the _ServDelete() part with success.

    Regards.

  11. Try:

    ProcessClose("NMBgMonitor.exe")
    ProcessClose("NMIndexingService.exe")
    ProcessClose("NMIndexStoreSvr.exe")

    I tried that months ago and doesn't work. It works only with taskkill command applied to NMIndexingService.exe and NMIndexStoreSvr.exe. NMBgMonitor.exe was deleted with the

    original code provided by CEoCEo.

    Didn't try, but I think my above suggestion will not work. It closes all the running processes with the same name. I don't think it's the situation here. NMIndexingService.exe is running as a service and that's why you need to force the close procedure. CEoCEo's solution looks promissing. However if you want to do it the AutoIt way exclusively, you can do it with an user defined function. Take a look here -> http://www.autoitscript.com/forum/index.ph...&hl=service

    Here is a sample from that topic:

    ;===============================================================================
    ; Description: Delete a Windows Service
    ; Syntax: _ServDelete($iName[, $Computer])
    ; Parameter(s): $iName - The name of the service to delete
    ; $Computer - The network name of the computer (optional) The local computer is default
    ; Requirement(s): None
    ; Return Value(s): Success - Deletes the service
    ; Failure Sets @Error = -1 if service is not found
    ; Author(s) GEOSoft
    ; Modification(s):
    ; Note(s):
    ; Example(s):
    ;===============================================================================

    Func _ServDelete($iName, $Computer = ".")
    $Service = ObjGet("winmgmts:\\" & $Computer & "\root\cimv2")
    $sItems = $Service.ExecQuery("Select * from Win32_Service")
    For $objService in $sItems
    If $objService.Name == $iName Then
    $objService.StopService($objService.Name)
    $objService.Delete($objService.Name)
    Return
    EndIf
    Next
    Return SetError(-1)
    EndFunc ;<==> _ServDelete()

    Just download the include file from that topic and include it with your script. As an alternative copy the needed functions to your script and call them when needed. This way you will have a unique file.

    Regards.

  12. Try:

    ProcessClose("NMBgMonitor.exe")
    ProcessClose("NMIndexingService.exe")
    ProcessClose("NMIndexStoreSvr.exe")

    I tried that months ago and doesn't work. It works only with taskkill command applied to NMIndexingService.exe and NMIndexStoreSvr.exe. NMBgMonitor.exe was deleted with the

    original code provided by CEoCEo.

    Did you try?

    $list = ProcessList("NMIndexingService.exe")
    For $i = 1 To $list[0][0]
    ProcessClose($list[$i][1])
    Next

×
×
  • Create New...